mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 04:37:00 +00:00
[0095] Updated item classes and subclasses.
Closes #13, #14 Signed-off-by: Yaki Khadafi <ElSolDolLo@gmail.com>
This commit is contained in:
parent
59c9d07d70
commit
ec1c1fba2d
3 changed files with 35 additions and 22 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "0094"
|
||||
#define REVISION_NR "0095"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue