Support for multisell enchantmentLevel option.

This commit is contained in:
MobiusDev
2016-06-14 18:46:52 +00:00
parent 68c7c5a385
commit 842ecc6af0
6 changed files with 72 additions and 54 deletions

View File

@ -30,6 +30,7 @@ public class Ingredient
{
private int _itemId;
private long _itemCount;
private final int _enchantmentLevel;
private boolean _isTaxIngredient;
private boolean _maintainIngredient;
private L2Item _template = null;
@ -38,13 +39,14 @@ public class Ingredient
public Ingredient(StatsSet set)
{
this(set.getInt("id"), set.getLong("count"), set.getInt("chance", 0), set.getBoolean("isTaxIngredient", false), set.getBoolean("maintainIngredient", false));
this(set.getInt("id"), set.getLong("count"), set.getInt("enchantmentLevel", 0), set.getInt("chance", 0), set.getBoolean("isTaxIngredient", false), set.getBoolean("maintainIngredient", false));
}
public Ingredient(int itemId, long itemCount, int chance, boolean isTaxIngredient, boolean maintainIngredient)
public Ingredient(int itemId, long itemCount, int enchantmentLevel, int chance, boolean isTaxIngredient, boolean maintainIngredient)
{
_itemId = itemId;
_itemCount = itemCount;
_enchantmentLevel = enchantmentLevel;
_chance = chance;
_isTaxIngredient = isTaxIngredient;
_maintainIngredient = maintainIngredient;
@ -59,7 +61,7 @@ public class Ingredient
*/
public Ingredient getCopy()
{
return new Ingredient(_itemId, _itemCount, _chance, _isTaxIngredient, _maintainIngredient);
return new Ingredient(_itemId, _itemCount, _enchantmentLevel, _chance, _isTaxIngredient, _maintainIngredient);
}
public final L2Item getTemplate()
@ -84,7 +86,7 @@ public class Ingredient
public final int getEnchantLevel()
{
return _itemInfo != null ? _itemInfo.getEnchantLevel() : 0;
return _itemInfo == null ? _enchantmentLevel : _itemInfo.getEnchantLevel();
}
public final void setItemId(int itemId)

View File

@ -61,7 +61,7 @@ public class PreparedEntry extends Entry
// do not yet add this adena amount to the list as non-taxIngredient adena might be entered later (order not guaranteed)
continue;
}
else if (maintainEnchantment && (item != null) && ing.isArmorOrWeapon())
if (maintainEnchantment && (item != null) && ing.isArmorOrWeapon())
{
info = new ItemInfo(item);
final Ingredient newIngredient = ing.getCopy();
@ -70,8 +70,7 @@ public class PreparedEntry extends Entry
}
else
{
final Ingredient newIngredient = ing.getCopy();
_ingredients.add(newIngredient);
_ingredients.add(ing.getCopy());
}
}
@ -79,7 +78,7 @@ public class PreparedEntry extends Entry
adenaAmount += _taxAmount; // do not forget tax
if (adenaAmount > 0)
{
_ingredients.add(new Ingredient(ADENA_ID, adenaAmount, 0, false, false));
_ingredients.add(new Ingredient(ADENA_ID, adenaAmount, 0, 0, false, false));
}
// now copy products