[0095] Updated item classes and subclasses.

Closes #13, #14

Signed-off-by: Yaki Khadafi <ElSolDolLo@gmail.com>
This commit is contained in:
Yaki Khadafi 2012-08-15 13:26:45 +03:00 committed by Antz
parent 59c9d07d70
commit ec1c1fba2d
3 changed files with 35 additions and 22 deletions

View file

@ -208,6 +208,9 @@ bool ItemCanGoIntoBag(ItemPrototype const* pProto, ItemPrototype const* pBagProt
case ITEM_SUBCLASS_INSCRIPTION_CONTAINER:
if (!(pProto->BagFamily & BAG_FAMILY_MASK_INSCRIPTION_SUPP))
return false;
case ITEM_SUBCLASS_FISHING_CONTAINER:
if (!(pProto->BagFamily & BAG_FAMILY_MASK_FISHING_SUPP))
return false;
return true;
default:
return false;
@ -1025,8 +1028,7 @@ bool Item::IsFitToSpellRequirements(SpellEntry const* spellInfo) const
return false;
// Other checks do not apply to vellum enchants, so return final result
int32 eqItemClass = spellInfo->GetEquippedItemClass();
return ((proto->SubClass == ITEM_SUBCLASS_WEAPON_ENCHANTMENT && eqItemClass == ITEM_CLASS_WEAPON) ||
(proto->SubClass == ITEM_SUBCLASS_ARMOR_ENCHANTMENT && eqItemClass == ITEM_CLASS_ARMOR));
return proto->SubClass == ITEM_SUBCLASS_VELLUM && (eqItemClass == ITEM_CLASS_WEAPON || eqItemClass == ITEM_CLASS_ARMOR);
}
}

View file

@ -171,7 +171,8 @@ enum BagFamilyMask
BAG_FAMILY_MASK_SOULBOUND_EQUIPMENT = 0x00000800,
BAG_FAMILY_MASK_VANITY_PETS = 0x00001000,
BAG_FAMILY_MASK_CURRENCY_TOKENS = 0x00002000,
BAG_FAMILY_MASK_QUEST_ITEMS = 0x00004000
BAG_FAMILY_MASK_QUEST_ITEMS = 0x00004000,
BAG_FAMILY_MASK_FISHING_SUPP = 0x00008000,
};
enum SocketColor
@ -179,10 +180,12 @@ enum SocketColor
SOCKET_COLOR_META = 1,
SOCKET_COLOR_RED = 2,
SOCKET_COLOR_YELLOW = 4,
SOCKET_COLOR_BLUE = 8
SOCKET_COLOR_BLUE = 8,
SOCKET_COLOR_HYDRAULIC = 16, // unused
SOCKET_COLOR_COGWHEEL = 32,
};
#define SOCKET_COLOR_ALL (SOCKET_COLOR_META | SOCKET_COLOR_RED | SOCKET_COLOR_YELLOW | SOCKET_COLOR_BLUE)
#define SOCKET_COLOR_ALL (SOCKET_COLOR_META | SOCKET_COLOR_RED | SOCKET_COLOR_YELLOW | SOCKET_COLOR_BLUE | SOCKET_COLOR_COGWHEEL)
enum InventoryType
{
@ -267,10 +270,11 @@ enum ItemSubclassContainer
ITEM_SUBCLASS_GEM_CONTAINER = 5,
ITEM_SUBCLASS_MINING_CONTAINER = 6,
ITEM_SUBCLASS_LEATHERWORKING_CONTAINER = 7,
ITEM_SUBCLASS_INSCRIPTION_CONTAINER = 8
ITEM_SUBCLASS_INSCRIPTION_CONTAINER = 8,
ITEM_SUBCLASS_FISHING_CONTAINER = 9,
};
#define MAX_ITEM_SUBCLASS_CONTAINER 9
#define MAX_ITEM_SUBCLASS_CONTAINER 10
enum ItemSubclassWeapon
{
@ -309,10 +313,12 @@ enum ItemSubclassGem
ITEM_SUBCLASS_GEM_ORANGE = 5,
ITEM_SUBCLASS_GEM_META = 6,
ITEM_SUBCLASS_GEM_SIMPLE = 7,
ITEM_SUBCLASS_GEM_PRISMATIC = 8
ITEM_SUBCLASS_GEM_PRISMATIC = 8,
ITEM_SUBCLASS_GEM_HYDRAULIC = 9, // ABS
ITEM_SUBCLASS_GEM_COGWHEEL = 10,
};
#define MAX_ITEM_SUBCLASS_GEM 9
#define MAX_ITEM_SUBCLASS_GEM 11
enum ItemSubclassArmor
{
@ -326,10 +332,11 @@ enum ItemSubclassArmor
ITEM_SUBCLASS_ARMOR_LIBRAM = 7,
ITEM_SUBCLASS_ARMOR_IDOL = 8,
ITEM_SUBCLASS_ARMOR_TOTEM = 9,
ITEM_SUBCLASS_ARMOR_SIGIL = 10
ITEM_SUBCLASS_ARMOR_SIGIL = 10,
ITEM_SUBCLASS_ARMOR_RELIC = 11,
};
#define MAX_ITEM_SUBCLASS_ARMOR 11
#define MAX_ITEM_SUBCLASS_ARMOR 12
enum ItemSubclassReagent
{
@ -347,7 +354,7 @@ enum ItemSubclassProjectile
ITEM_SUBCLASS_THROWN = 4 // ABS
};
#define MAX_ITEM_SUBCLASS_PROJECTILE 5
#define MAX_ITEM_SUBCLASS_PROJECTILE 4
enum ItemSubclassTradeGoods
{
@ -365,11 +372,10 @@ enum ItemSubclassTradeGoods
ITEM_SUBCLASS_TRADE_GOODS_OTHER = 11,
ITEM_SUBCLASS_ENCHANTING = 12,
ITEM_SUBCLASS_MATERIAL = 13,
ITEM_SUBCLASS_ARMOR_ENCHANTMENT = 14,
ITEM_SUBCLASS_WEAPON_ENCHANTMENT = 15
ITEM_SUBCLASS_VELLUM = 14,
};
#define MAX_ITEM_SUBCLASS_TRADE_GOODS 16
#define MAX_ITEM_SUBCLASS_TRADE_GOODS 15
enum ItemSubclassGeneric
{
@ -390,17 +396,19 @@ enum ItemSubclassRecipe
ITEM_SUBCLASS_FIRST_AID_MANUAL = 7,
ITEM_SUBCLASS_ENCHANTING_FORMULA = 8,
ITEM_SUBCLASS_FISHING_MANUAL = 9,
ITEM_SUBCLASS_JEWELCRAFTING_RECIPE = 10
ITEM_SUBCLASS_JEWELCRAFTING_RECIPE = 10,
ITEM_SUBCLASS_INSCRIPTION_RECIPE = 11,
};
#define MAX_ITEM_SUBCLASS_RECIPE 11
#define MAX_ITEM_SUBCLASS_RECIPE 12
enum ItemSubclassMoney
{
ITEM_SUBCLASS_MONEY = 0
// = 7 one test item
};
#define MAX_ITEM_SUBCLASS_MONEY 1
#define MAX_ITEM_SUBCLASS_MONEY 8
enum ItemSubclassQuiver
{
@ -415,9 +423,11 @@ enum ItemSubclassQuiver
enum ItemSubclassQuest
{
ITEM_SUBCLASS_QUEST = 0
// 3 one unavailable item
// 8 two quest items
};
#define MAX_ITEM_SUBCLASS_QUEST 1
#define MAX_ITEM_SUBCLASS_QUEST 9
enum ItemSubclassKey
{
@ -442,9 +452,10 @@ enum ItemSubclassJunk
ITEM_SUBCLASS_JUNK_HOLIDAY = 3,
ITEM_SUBCLASS_JUNK_OTHER = 4,
ITEM_SUBCLASS_JUNK_MOUNT = 5
// 12 single item 37677
};
#define MAX_ITEM_SUBCLASS_JUNK 6
#define MAX_ITEM_SUBCLASS_JUNK 13
enum ItemSubclassGlyph
{
@ -665,7 +676,7 @@ struct ItemPrototype
bool IsConjuredConsumable() const { return Class == ITEM_CLASS_CONSUMABLE && (Flags & ITEM_FLAG_CONJURED); }
bool IsVellum() const
{
return (Class == ITEM_CLASS_TRADE_GOODS && (1 << SubClass) & (1 << ITEM_SUBCLASS_ARMOR_ENCHANTMENT | 1 << ITEM_SUBCLASS_WEAPON_ENCHANTMENT));
return Class == ITEM_CLASS_TRADE_GOODS && (1 << SubClass) & (1 << ITEM_SUBCLASS_VELLUM);
}
};

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "0094"
#define REVISION_NR "0095"
#endif // __REVISION_NR_H__