mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 13: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:
|
case ITEM_SUBCLASS_INSCRIPTION_CONTAINER:
|
||||||
if (!(pProto->BagFamily & BAG_FAMILY_MASK_INSCRIPTION_SUPP))
|
if (!(pProto->BagFamily & BAG_FAMILY_MASK_INSCRIPTION_SUPP))
|
||||||
return false;
|
return false;
|
||||||
|
case ITEM_SUBCLASS_FISHING_CONTAINER:
|
||||||
|
if (!(pProto->BagFamily & BAG_FAMILY_MASK_FISHING_SUPP))
|
||||||
|
return false;
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -1025,8 +1028,7 @@ bool Item::IsFitToSpellRequirements(SpellEntry const* spellInfo) const
|
||||||
return false;
|
return false;
|
||||||
// Other checks do not apply to vellum enchants, so return final result
|
// Other checks do not apply to vellum enchants, so return final result
|
||||||
int32 eqItemClass = spellInfo->GetEquippedItemClass();
|
int32 eqItemClass = spellInfo->GetEquippedItemClass();
|
||||||
return ((proto->SubClass == ITEM_SUBCLASS_WEAPON_ENCHANTMENT && eqItemClass == ITEM_CLASS_WEAPON) ||
|
return proto->SubClass == ITEM_SUBCLASS_VELLUM && (eqItemClass == ITEM_CLASS_WEAPON || eqItemClass == ITEM_CLASS_ARMOR);
|
||||||
(proto->SubClass == ITEM_SUBCLASS_ARMOR_ENCHANTMENT && eqItemClass == ITEM_CLASS_ARMOR));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,8 @@ enum BagFamilyMask
|
||||||
BAG_FAMILY_MASK_SOULBOUND_EQUIPMENT = 0x00000800,
|
BAG_FAMILY_MASK_SOULBOUND_EQUIPMENT = 0x00000800,
|
||||||
BAG_FAMILY_MASK_VANITY_PETS = 0x00001000,
|
BAG_FAMILY_MASK_VANITY_PETS = 0x00001000,
|
||||||
BAG_FAMILY_MASK_CURRENCY_TOKENS = 0x00002000,
|
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
|
enum SocketColor
|
||||||
|
|
@ -179,10 +180,12 @@ enum SocketColor
|
||||||
SOCKET_COLOR_META = 1,
|
SOCKET_COLOR_META = 1,
|
||||||
SOCKET_COLOR_RED = 2,
|
SOCKET_COLOR_RED = 2,
|
||||||
SOCKET_COLOR_YELLOW = 4,
|
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
|
enum InventoryType
|
||||||
{
|
{
|
||||||
|
|
@ -267,10 +270,11 @@ enum ItemSubclassContainer
|
||||||
ITEM_SUBCLASS_GEM_CONTAINER = 5,
|
ITEM_SUBCLASS_GEM_CONTAINER = 5,
|
||||||
ITEM_SUBCLASS_MINING_CONTAINER = 6,
|
ITEM_SUBCLASS_MINING_CONTAINER = 6,
|
||||||
ITEM_SUBCLASS_LEATHERWORKING_CONTAINER = 7,
|
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
|
enum ItemSubclassWeapon
|
||||||
{
|
{
|
||||||
|
|
@ -309,10 +313,12 @@ enum ItemSubclassGem
|
||||||
ITEM_SUBCLASS_GEM_ORANGE = 5,
|
ITEM_SUBCLASS_GEM_ORANGE = 5,
|
||||||
ITEM_SUBCLASS_GEM_META = 6,
|
ITEM_SUBCLASS_GEM_META = 6,
|
||||||
ITEM_SUBCLASS_GEM_SIMPLE = 7,
|
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
|
enum ItemSubclassArmor
|
||||||
{
|
{
|
||||||
|
|
@ -326,10 +332,11 @@ enum ItemSubclassArmor
|
||||||
ITEM_SUBCLASS_ARMOR_LIBRAM = 7,
|
ITEM_SUBCLASS_ARMOR_LIBRAM = 7,
|
||||||
ITEM_SUBCLASS_ARMOR_IDOL = 8,
|
ITEM_SUBCLASS_ARMOR_IDOL = 8,
|
||||||
ITEM_SUBCLASS_ARMOR_TOTEM = 9,
|
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
|
enum ItemSubclassReagent
|
||||||
{
|
{
|
||||||
|
|
@ -347,7 +354,7 @@ enum ItemSubclassProjectile
|
||||||
ITEM_SUBCLASS_THROWN = 4 // ABS
|
ITEM_SUBCLASS_THROWN = 4 // ABS
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_ITEM_SUBCLASS_PROJECTILE 5
|
#define MAX_ITEM_SUBCLASS_PROJECTILE 4
|
||||||
|
|
||||||
enum ItemSubclassTradeGoods
|
enum ItemSubclassTradeGoods
|
||||||
{
|
{
|
||||||
|
|
@ -365,11 +372,10 @@ enum ItemSubclassTradeGoods
|
||||||
ITEM_SUBCLASS_TRADE_GOODS_OTHER = 11,
|
ITEM_SUBCLASS_TRADE_GOODS_OTHER = 11,
|
||||||
ITEM_SUBCLASS_ENCHANTING = 12,
|
ITEM_SUBCLASS_ENCHANTING = 12,
|
||||||
ITEM_SUBCLASS_MATERIAL = 13,
|
ITEM_SUBCLASS_MATERIAL = 13,
|
||||||
ITEM_SUBCLASS_ARMOR_ENCHANTMENT = 14,
|
ITEM_SUBCLASS_VELLUM = 14,
|
||||||
ITEM_SUBCLASS_WEAPON_ENCHANTMENT = 15
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_ITEM_SUBCLASS_TRADE_GOODS 16
|
#define MAX_ITEM_SUBCLASS_TRADE_GOODS 15
|
||||||
|
|
||||||
enum ItemSubclassGeneric
|
enum ItemSubclassGeneric
|
||||||
{
|
{
|
||||||
|
|
@ -390,17 +396,19 @@ enum ItemSubclassRecipe
|
||||||
ITEM_SUBCLASS_FIRST_AID_MANUAL = 7,
|
ITEM_SUBCLASS_FIRST_AID_MANUAL = 7,
|
||||||
ITEM_SUBCLASS_ENCHANTING_FORMULA = 8,
|
ITEM_SUBCLASS_ENCHANTING_FORMULA = 8,
|
||||||
ITEM_SUBCLASS_FISHING_MANUAL = 9,
|
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
|
enum ItemSubclassMoney
|
||||||
{
|
{
|
||||||
ITEM_SUBCLASS_MONEY = 0
|
ITEM_SUBCLASS_MONEY = 0
|
||||||
|
// = 7 one test item
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_ITEM_SUBCLASS_MONEY 1
|
#define MAX_ITEM_SUBCLASS_MONEY 8
|
||||||
|
|
||||||
enum ItemSubclassQuiver
|
enum ItemSubclassQuiver
|
||||||
{
|
{
|
||||||
|
|
@ -415,9 +423,11 @@ enum ItemSubclassQuiver
|
||||||
enum ItemSubclassQuest
|
enum ItemSubclassQuest
|
||||||
{
|
{
|
||||||
ITEM_SUBCLASS_QUEST = 0
|
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
|
enum ItemSubclassKey
|
||||||
{
|
{
|
||||||
|
|
@ -442,9 +452,10 @@ enum ItemSubclassJunk
|
||||||
ITEM_SUBCLASS_JUNK_HOLIDAY = 3,
|
ITEM_SUBCLASS_JUNK_HOLIDAY = 3,
|
||||||
ITEM_SUBCLASS_JUNK_OTHER = 4,
|
ITEM_SUBCLASS_JUNK_OTHER = 4,
|
||||||
ITEM_SUBCLASS_JUNK_MOUNT = 5
|
ITEM_SUBCLASS_JUNK_MOUNT = 5
|
||||||
|
// 12 single item 37677
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_ITEM_SUBCLASS_JUNK 6
|
#define MAX_ITEM_SUBCLASS_JUNK 13
|
||||||
|
|
||||||
enum ItemSubclassGlyph
|
enum ItemSubclassGlyph
|
||||||
{
|
{
|
||||||
|
|
@ -665,7 +676,7 @@ struct ItemPrototype
|
||||||
bool IsConjuredConsumable() const { return Class == ITEM_CLASS_CONSUMABLE && (Flags & ITEM_FLAG_CONJURED); }
|
bool IsConjuredConsumable() const { return Class == ITEM_CLASS_CONSUMABLE && (Flags & ITEM_FLAG_CONJURED); }
|
||||||
bool IsVellum() const
|
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__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "0094"
|
#define REVISION_NR "0095"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue