1
0
Fork 0

Fixed bad values in the IsEnchantable() method.

This commit is contained in:
Hownaer 2014-08-28 15:21:38 +02:00
parent 6c3b80f04c
commit f1470fcf9f
2 changed files with 17 additions and 5 deletions

View File

@ -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;

View File

@ -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