Addition of enchant_limit item value.
Contributed by CostyKiller.
This commit is contained in:
parent
b140419920
commit
6130ef32b9
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -140,6 +140,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -214,6 +215,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -616,6 +618,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -140,6 +140,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -214,6 +215,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -616,6 +618,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -140,6 +140,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -214,6 +215,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -616,6 +618,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -140,6 +140,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -214,6 +215,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -616,6 +618,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -141,6 +141,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -215,6 +216,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -617,6 +619,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -143,6 +143,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -219,6 +220,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -622,6 +624,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -143,6 +143,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -219,6 +220,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -623,6 +625,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -19,13 +19,9 @@
|
|||||||
</enchant>
|
</enchant>
|
||||||
|
|
||||||
<!-- Enchant Scroll: Blessed Bracelet -->
|
<!-- Enchant Scroll: Blessed Bracelet -->
|
||||||
<enchant id="80838" maxEnchant="5">
|
<enchant id="80838" maxEnchant="10">
|
||||||
<item id="80835" />
|
<item id="80835" />
|
||||||
<item id="80836" />
|
<item id="80836" />
|
||||||
</enchant>
|
|
||||||
|
|
||||||
<!-- Enchant Scroll: Blessed Bracelet -->
|
|
||||||
<enchant id="80838" maxEnchant="10">
|
|
||||||
<item id="80837" />
|
<item id="80837" />
|
||||||
</enchant>
|
</enchant>
|
||||||
|
|
||||||
|
@ -455,6 +455,7 @@
|
|||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="BRACELET" />
|
<set name="commissionItemType" val="BRACELET" />
|
||||||
<set name="enchant_enabled" val="1" />
|
<set name="enchant_enabled" val="1" />
|
||||||
|
<set name="enchant_limit" val="5" />
|
||||||
<skills>
|
<skills>
|
||||||
<skill id="35524" level="1" /> <!-- Kaliel's Bracelet -->
|
<skill id="35524" level="1" /> <!-- Kaliel's Bracelet -->
|
||||||
<skill id="35524" level="2" type="ON_ENCHANT" type_value="1" /> <!-- Kaliel's Bracelet +1 -->
|
<skill id="35524" level="2" type="ON_ENCHANT" type_value="1" /> <!-- Kaliel's Bracelet +1 -->
|
||||||
@ -471,8 +472,9 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="bodypart" val="rbracelet" />
|
<set name="bodypart" val="rbracelet" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="BRACELET" />
|
<set name="is_commissionable" val="false" />
|
||||||
<set name="enchant_enabled" val="1" />
|
<set name="enchant_enabled" val="1" />
|
||||||
|
<set name="enchant_limit" val="5" />
|
||||||
<skills>
|
<skills>
|
||||||
<skill id="35525" level="1" /> <!-- Kaliel's Greater Bracelet -->
|
<skill id="35525" level="1" /> <!-- Kaliel's Greater Bracelet -->
|
||||||
<skill id="35525" level="2" type="ON_ENCHANT" type_value="1" /> <!-- Kaliel's Greater Bracelet +1 -->
|
<skill id="35525" level="2" type="ON_ENCHANT" type_value="1" /> <!-- Kaliel's Greater Bracelet +1 -->
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -143,6 +143,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -219,6 +220,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -623,6 +625,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
<enchant id="80838" maxEnchant="10">
|
<enchant id="80838" maxEnchant="10">
|
||||||
<item id="80835" />
|
<item id="80835" />
|
||||||
<item id="80836" />
|
<item id="80836" />
|
||||||
<item id="80837" /> <!-- TODO: Only this +10 -->
|
<item id="80837" />
|
||||||
</enchant>
|
</enchant>
|
||||||
|
|
||||||
<!-- Blessed Scroll: Enchant Dragon Shirt -->
|
<!-- Blessed Scroll: Enchant Dragon Shirt -->
|
||||||
|
@ -460,6 +460,7 @@
|
|||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="BRACELET" />
|
<set name="commissionItemType" val="BRACELET" />
|
||||||
<set name="enchant_enabled" val="5" />
|
<set name="enchant_enabled" val="5" />
|
||||||
|
<set name="enchant_limit" val="5" />
|
||||||
<skills>
|
<skills>
|
||||||
<skill id="35524" level="1" /> <!-- Kaliel's Bracelet -->
|
<skill id="35524" level="1" /> <!-- Kaliel's Bracelet -->
|
||||||
<skill id="35524" level="2" type="ON_ENCHANT" type_value="1" /> <!-- Kaliel's Bracelet -->
|
<skill id="35524" level="2" type="ON_ENCHANT" type_value="1" /> <!-- Kaliel's Bracelet -->
|
||||||
@ -478,6 +479,7 @@
|
|||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_commissionable" val="false" />
|
<set name="is_commissionable" val="false" />
|
||||||
<set name="enchant_enabled" val="5" />
|
<set name="enchant_enabled" val="5" />
|
||||||
|
<set name="enchant_limit" val="5" />
|
||||||
<skills>
|
<skills>
|
||||||
<skill id="35525" level="1" /> <!-- Kaliel's Greater Bracelet -->
|
<skill id="35525" level="1" /> <!-- Kaliel's Greater Bracelet -->
|
||||||
<skill id="35525" level="2" type="ON_ENCHANT" type_value="1" /> <!-- Kaliel's Greater Bracelet -->
|
<skill id="35525" level="2" type="ON_ENCHANT" type_value="1" /> <!-- Kaliel's Greater Bracelet -->
|
||||||
|
@ -143,6 +143,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -219,6 +220,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -623,6 +625,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -140,6 +140,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -214,6 +215,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -616,6 +618,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -140,6 +140,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -214,6 +215,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -616,6 +618,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -141,6 +141,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -215,6 +216,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -617,6 +619,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -143,6 +143,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -219,6 +220,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -622,6 +624,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -143,6 +143,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -219,6 +220,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -622,6 +624,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -143,6 +143,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -219,6 +220,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -622,6 +624,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
<xs:enumeration value="duration" />
|
<xs:enumeration value="duration" />
|
||||||
<xs:enumeration value="element_enabled" />
|
<xs:enumeration value="element_enabled" />
|
||||||
<xs:enumeration value="enchant_enabled" />
|
<xs:enumeration value="enchant_enabled" />
|
||||||
|
<xs:enumeration value="enchant_limit" />
|
||||||
<xs:enumeration value="enchant4_skill" />
|
<xs:enumeration value="enchant4_skill" />
|
||||||
<xs:enumeration value="enchanted" />
|
<xs:enumeration value="enchanted" />
|
||||||
<xs:enumeration value="equip_condition" />
|
<xs:enumeration value="equip_condition" />
|
||||||
|
@ -140,6 +140,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -214,6 +215,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -616,6 +618,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
@ -143,6 +143,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
private boolean _tradeable;
|
private boolean _tradeable;
|
||||||
private boolean _depositable;
|
private boolean _depositable;
|
||||||
private int _enchantable;
|
private int _enchantable;
|
||||||
|
private int _enchantLimit;
|
||||||
private boolean _elementable;
|
private boolean _elementable;
|
||||||
private boolean _questItem;
|
private boolean _questItem;
|
||||||
private boolean _freightable;
|
private boolean _freightable;
|
||||||
@ -219,6 +220,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
|
|
||||||
_elementable = set.getBoolean("element_enabled", false);
|
_elementable = set.getBoolean("element_enabled", false);
|
||||||
_enchantable = set.getInt("enchant_enabled", 0);
|
_enchantable = set.getInt("enchant_enabled", 0);
|
||||||
|
_enchantLimit = set.getInt("enchant_limit", 0);
|
||||||
_freightable = set.getBoolean("is_freightable", false);
|
_freightable = set.getBoolean("is_freightable", false);
|
||||||
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
_allowSelfResurrection = set.getBoolean("allow_self_resurrection", false);
|
||||||
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
_isOlyRestricted = set.getBoolean("is_oly_restricted", false);
|
||||||
@ -622,6 +624,15 @@ public abstract class Item extends ListenersContainer implements IIdentifiable
|
|||||||
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
return Arrays.binarySearch(Config.ENCHANT_BLACKLIST, _itemId) < 0 ? _enchantable : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the enchantment limit of the item
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public int getEnchantLimit()
|
||||||
|
{
|
||||||
|
return _enchantLimit > 0 ? _enchantLimit : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
* @return {@code true} if the item can be elemented, {@code false} otherwise.
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +142,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (itemToEnchant.isEnchantable() == 0)
|
else if ((itemToEnchant.isEnchantable() == 0) || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ public abstract class AbstractEnchantItem
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) || ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first validation check - also over enchant check
|
// first validation check - also over enchant check
|
||||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && (item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel())))
|
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
player.removeRequest(request.getClass());
|
||||||
|
Loading…
Reference in New Issue
Block a user