Maintain enchant level for chance multisells.

This commit is contained in:
MobiusDevelopment
2021-09-15 22:13:24 +00:00
parent 11850ecb9f
commit 3a5431ea2b
19 changed files with 380 additions and 0 deletions

View File

@@ -291,6 +291,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -353,6 +354,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -370,6 +375,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -386,6 +395,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -491,11 +504,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -318,6 +318,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -385,6 +386,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -402,6 +407,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -418,6 +427,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -544,11 +557,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -284,6 +284,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -346,6 +347,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -363,6 +368,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -379,6 +388,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -484,11 +497,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -319,6 +319,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -381,6 +382,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -398,6 +403,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -414,6 +423,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -535,11 +548,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {

View File

@@ -318,6 +318,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
boolean itemEnchantmentProcessed = (itemEnchantment == null); boolean itemEnchantmentProcessed = (itemEnchantment == null);
int enchantLevel = -1;
// Take all ingredients // Take all ingredients
for (ItemChanceHolder ingredient : entry.getIngredients()) for (ItemChanceHolder ingredient : entry.getIngredients())
@@ -385,6 +386,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -402,6 +407,10 @@ public class MultiSellChoose implements IClientIncomingPacket
{ {
itemEnchantmentProcessed = true; itemEnchantmentProcessed = true;
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -418,6 +427,10 @@ public class MultiSellChoose implements IClientIncomingPacket
if (destroyedItem != null) if (destroyedItem != null)
{ {
iu.addItem(destroyedItem); iu.addItem(destroyedItem);
if (enchantLevel < 0) // Will only consider first ingredient enchant.
{
enchantLevel = destroyedItem.getEnchantLevel();
}
} }
else else
{ {
@@ -544,11 +557,18 @@ public class MultiSellChoose implements IClientIncomingPacket
// Mark that we have already upgraded the item. // Mark that we have already upgraded the item.
itemEnchantmentProcessed = false; itemEnchantmentProcessed = false;
} }
if (product.getEnchantmentLevel() > 0) if (product.getEnchantmentLevel() > 0)
{ {
addedItem.setEnchantLevel(product.getEnchantmentLevel()); addedItem.setEnchantLevel(product.getEnchantmentLevel());
addedItem.updateDatabase(true); addedItem.updateDatabase(true);
} }
else if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (enchantLevel > 0) && !addedItem.getItem().isEtcItem())
{
addedItem.setEnchantLevel(enchantLevel);
addedItem.updateDatabase(true);
enchantLevel = -1; // Will only enchant first product.
}
if (addedItem.getCount() > 1) if (addedItem.getCount() > 1)
{ {