Support for multiple EnchantRateItem ids.

This commit is contained in:
MobiusDevelopment
2022-05-02 21:54:23 +00:00
parent 2bbc5125a7
commit 6a68c581ff
52 changed files with 234 additions and 156 deletions

View File

@@ -126,7 +126,7 @@ public class EnchantItemGroupsData implements IXmlReader
}
if (attrs.getNamedItem("itemId") != null)
{
rateGroup.setItemId(parseInteger(attrs, "itemId"));
rateGroup.addItemId(parseInteger(attrs, "itemId"));
}
}
}

View File

@@ -16,15 +16,18 @@
*/
package org.l2jmobius.gameserver.model.item.enchant;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.item.ItemTemplate;
/**
* @author UnAfraid
* @author UnAfraid, Mobius
*/
public class EnchantRateItem
{
private final String _name;
private int _itemId;
private final Set<Integer> _items = new HashSet<>();
private int _slot;
private Boolean _isMagicWeapon = null;
@@ -45,9 +48,9 @@ public class EnchantRateItem
* Adds item id verification.
* @param id
*/
public void setItemId(int id)
public void addItemId(int id)
{
_itemId = id;
_items.add(id);
}
/**
@@ -74,7 +77,7 @@ public class EnchantRateItem
*/
public boolean validate(ItemTemplate item)
{
if ((_itemId != 0) && (_itemId != item.getId()))
if (!_items.isEmpty() && !_items.contains(item.getId()))
{
return false;
}