Fixed bad values in the IsEnchantable() method.
This commit is contained in:
parent
6c3b80f04c
commit
f1470fcf9f
20
src/Item.cpp
20
src/Item.cpp
@ -190,9 +190,16 @@ void cItem::FromJson(const Json::Value & a_Value)
|
||||
|
||||
|
||||
|
||||
bool cItem::IsEnchantable(short a_ItemType)
|
||||
bool cItem::IsEnchantable(short a_ItemType, bool a_WithBook)
|
||||
{
|
||||
if (ItemCategory::IsTool(a_ItemType) || ItemCategory::IsArmor(a_ItemType))
|
||||
if (
|
||||
ItemCategory::IsAxe(a_ItemType) ||
|
||||
ItemCategory::IsSword(a_ItemType) ||
|
||||
ItemCategory::IsShovel(a_ItemType) ||
|
||||
ItemCategory::IsPickaxe(a_ItemType) ||
|
||||
(a_WithBook && ItemCategory::IsHoe(a_ItemType)) ||
|
||||
ItemCategory::IsArmor(a_ItemType)
|
||||
)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -201,12 +208,17 @@ bool cItem::IsEnchantable(short a_ItemType)
|
||||
{
|
||||
case E_ITEM_BOOK:
|
||||
case E_ITEM_BOW:
|
||||
case E_ITEM_CARROT_ON_STICK:
|
||||
case E_ITEM_FISHING_ROD:
|
||||
case E_ITEM_SHEARS:
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
case E_ITEM_CARROT_ON_STICK:
|
||||
case E_ITEM_SHEARS:
|
||||
case E_ITEM_FLINT_AND_STEEL:
|
||||
{
|
||||
return a_WithBook;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -184,7 +184,7 @@ public:
|
||||
void FromJson(const Json::Value & a_Value);
|
||||
|
||||
/** Returns true if the specified item type is enchantable (as per 1.2.5 protocol requirements) */
|
||||
static bool IsEnchantable(short a_ItemType); // tolua_export
|
||||
static bool IsEnchantable(short a_ItemType, bool a_WithBook = false); // tolua_export
|
||||
|
||||
/** Returns the enchantability of the item. When the item hasn't a enchantability, it will returns 0 */
|
||||
int GetEnchantability(); // tolua_export
|
||||
|
Loading…
Reference in New Issue
Block a user