TrinityCore
ItemTemplate.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef _ITEMPROTOTYPE_H
19#define _ITEMPROTOTYPE_H
20
21#include "Common.h"
22#include "DB2Structure.h"
23#include "Errors.h"
24#include "SharedDefines.h"
25#include <bitset>
26#include <vector>
27
29{
101
103{
104 ITEM_SPELLTRIGGER_ON_USE = 0, // use after equip cooldown
110 ITEM_SPELLTRIGGER_ON_LEARN = 6, // used in ItemEffect in second slot with spell_id with SPELL_GENERIC_LEARN in spell_1
112};
113
115{
121};
122
123#define MAX_BIND_TYPE 5
124
125/* /// @todo: Requiring actual cases in which using (an) item isn't allowed while shapeshifted. Else, this flag would need an implementation.
126 ITEM_FLAG_USE_WHEN_SHAPESHIFTED = 0x00800000, // Item can be used in shapeshift forms */
127
128// ITEM_FIELD_FLAGS
130{
131 ITEM_FIELD_FLAG_SOULBOUND = 0x00000001, // Item is soulbound and cannot be traded <<--
132 ITEM_FIELD_FLAG_TRANSLATED = 0x00000002, // Item text will not read as garbage when player does not know the language
133 ITEM_FIELD_FLAG_UNLOCKED = 0x00000004, // Item had lock but can be opened now
134 ITEM_FIELD_FLAG_WRAPPED = 0x00000008, // Item is wrapped and contains another item
139 ITEM_FIELD_FLAG_BOP_TRADEABLE = 0x00000100, // Allows trading soulbound items
140 ITEM_FIELD_FLAG_READABLE = 0x00000200, // Opens text page when right clicked
143 ITEM_FIELD_FLAG_REFUNDABLE = 0x00001000, // Item can be returned to vendor for its original cost (extended cost)
152 ITEM_FIELD_FLAG_NEW_ITEM = 0x00200000, // Item glows in inventory
153 ITEM_FIELD_FLAG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x00400000, // Won't play azerite powers animation when viewing it
162 ITEM_FIELD_FLAG_UNK26 = 0x80000000
164
166
168{
171
173
175{
177 ITEM_FLAG_CONJURED = 0x00000002, // Conjured item
178 ITEM_FLAG_HAS_LOOT = 0x00000004, // Item can be right clicked to open for loot
179 ITEM_FLAG_HEROIC_TOOLTIP = 0x00000008, // Makes green "Heroic" text appear on item
180 ITEM_FLAG_DEPRECATED = 0x00000010, // Cannot equip or use
181 ITEM_FLAG_NO_USER_DESTROY = 0x00000020, // Item can not be destroyed, except by using spell (item can be reagent for spell)
182 ITEM_FLAG_PLAYERCAST = 0x00000040, // Item's spells are castable by players
183 ITEM_FLAG_NO_EQUIP_COOLDOWN = 0x00000080, // No default 30 seconds cooldown when equipped
184 ITEM_FLAG_LEGACY = 0x00000100, // Effects are disabled
185 ITEM_FLAG_IS_WRAPPER = 0x00000200, // Item can wrap other items
187 ITEM_FLAG_MULTI_DROP = 0x00000800, // Looting this item does not remove it from available loot
188 ITEM_FLAG_ITEM_PURCHASE_RECORD = 0x00001000, // Item can be returned to vendor for its original cost (extended cost)
189 ITEM_FLAG_PETITION = 0x00002000, // Item is guild or arena charter
190 ITEM_FLAG_HAS_TEXT = 0x00004000, // Only readable items have this (but not all)
194 ITEM_FLAG_IS_PROSPECTABLE = 0x00040000, // Item can be prospected
195 ITEM_FLAG_UNIQUE_EQUIPPABLE = 0x00080000, // You can only equip one of these
196 ITEM_FLAG_DISABLE_AUTO_QUOTES = 0x00100000, // Disables quotes around item description in tooltip
197 ITEM_FLAG_IGNORE_DEFAULT_ARENA_RESTRICTIONS = 0x00200000, // Item can be used during arena match
198 ITEM_FLAG_NO_DURABILITY_LOSS = 0x00400000, // Some Thrown weapons have it (and only Thrown) but not all
199 ITEM_FLAG_USE_WHEN_SHAPESHIFTED = 0x00800000, // Item can be used in shapeshift forms
201 ITEM_FLAG_HIDE_UNUSABLE_RECIPE = 0x02000000, // Profession recipes: can only be looted if you meet requirements and don't already know it
202 ITEM_FLAG_NOT_USEABLE_IN_ARENA = 0x04000000, // Item cannot be used in arena
203 ITEM_FLAG_IS_BOUND_TO_ACCOUNT = 0x08000000, // Item binds to account and can be sent only to your own characters
204 ITEM_FLAG_NO_REAGENT_COST = 0x10000000, // Spell is cast ignoring reagents
205 ITEM_FLAG_IS_MILLABLE = 0x20000000, // Item can be milled
209
211{
214 ITEM_FLAG2_DONT_IGNORE_BUY_PRICE = 0x00000004, // when item uses extended cost, gold is also required // deprecated
245
247{
257 ITEM_FLAG3_DISPLAY_AS_HEIRLOOM = 0x00000200, // Item appears as having heirloom quality ingame regardless of its real quality (does not affect stat calculation)
260 ITEM_FLAG3_DONT_DISPLAY_IN_GUILD_NEWS = 0x00001000, // Item is not included in the guild news panel
279 ITEM_FLAG3_NO_VOID_STORAGE = 0x80000000
281
283{
313};
314
316{
318 ITEM_FLAGS_CU_IGNORE_QUEST_STATUS = 0x0002, // No quest status will be checked when this item drops
319 ITEM_FLAGS_CU_FOLLOW_LOOT_RULES = 0x0004 // Item will always follow group/master/need before greed looting rules
321
323{
342};
343
345{
350 SOCKET_COLOR_HYDRAULIC = 0x000010, // not used
371};
372
373extern int32 const SocketColorToGemTypeMask[26];
374
375#define SOCKET_COLOR_STANDARD (SOCKET_COLOR_RED | SOCKET_COLOR_YELLOW | SOCKET_COLOR_BLUE)
376
378{
415
416#define MAX_INVTYPE 35
417
419{
430 ITEM_CLASS_MONEY = 10, // OBSOLETE
434 ITEM_CLASS_PERMANENT = 14, // OBSOLETE
441
442#define MAX_ITEM_CLASS 20
443
445{
457
458#define MAX_ITEM_SUBCLASS_CONSUMABLE 10
459
461{
475
476#define MAX_ITEM_SUBCLASS_CONTAINER 12
477
479{
480 ITEM_SUBCLASS_WEAPON_AXE = 0, // One-Handed Axes
481 ITEM_SUBCLASS_WEAPON_AXE2 = 1, // Two-Handed Axes
484 ITEM_SUBCLASS_WEAPON_MACE = 4, // One-Handed Maces
485 ITEM_SUBCLASS_WEAPON_MACE2 = 5, // Two-Handed Maces
487 ITEM_SUBCLASS_WEAPON_SWORD = 7, // One-Handed Swords
488 ITEM_SUBCLASS_WEAPON_SWORD2 = 8, // Two-Handed Swords
491 ITEM_SUBCLASS_WEAPON_EXOTIC = 11, // One-Handed Exotics
492 ITEM_SUBCLASS_WEAPON_EXOTIC2 = 12, // Two-Handed Exotics
502
503#define ITEM_SUBCLASS_MASK_WEAPON_RANGED (\
504 (1 << ITEM_SUBCLASS_WEAPON_BOW) | (1 << ITEM_SUBCLASS_WEAPON_GUN) |\
505 (1 << ITEM_SUBCLASS_WEAPON_CROSSBOW))
506
507#define MAX_ITEM_SUBCLASS_WEAPON 21
508
510{
524
525#define MAX_ITEM_SUBCLASS_GEM 12
526
528{
541};
542
543#define MAX_ITEM_SUBCLASS_ARMOR 12
544
546{
551
552#define MAX_ITEM_SUBCLASS_REAGENT 3
553
555{
556 ITEM_SUBCLASS_WAND = 0, // OBSOLETE
557 ITEM_SUBCLASS_BOLT = 1, // OBSOLETE
560 ITEM_SUBCLASS_THROWN = 4 // OBSOLETE
562
563#define MAX_ITEM_SUBCLASS_PROJECTILE 5
564
566{
587};
588
589#define MAX_ITEM_SUBCLASS_TRADE_GOODS 20
590
592{
609
610#define MAX_ITEM_SUBCLASS_ITEM_ENHANCEMENT 15
611
613{
627
628#define MAX_ITEM_SUBCLASS_RECIPE 12
629
631{
632 ITEM_SUBCLASS_MONEY = 0, // OBSOLETE
633};
634
635#define MAX_ITEM_SUBCLASS_MONEY 1
636
638{
639 ITEM_SUBCLASS_QUIVER0 = 0, // OBSOLETE
640 ITEM_SUBCLASS_QUIVER1 = 1, // OBSOLETE
644
645#define MAX_ITEM_SUBCLASS_QUIVER 4
646
648{
650 ITEM_SUBCLASS_QUEST_UNK3 = 3, // 1 item (33604)
651 ITEM_SUBCLASS_QUEST_UNK8 = 8, // 2 items (37445, 49700)
652};
653
654#define MAX_ITEM_SUBCLASS_QUEST 9
655
657{
661
662#define MAX_ITEM_SUBCLASS_KEY 2
663
665{
668
669#define MAX_ITEM_SUBCLASS_PERMANENT 1
670
672{
681
682#define MAX_ITEM_SUBCLASS_MISCELLANEOUS 7
683
685{
699
700#define MAX_ITEM_SUBCLASS_GLYPH 13
701
703{
706
707#define MAX_ITEM_SUBCLASS_BATTLE_PET 1
708
710{
713
714#define MAX_ITEM_SUBCLASS_WOW_TOKEN 1
715
717{
733
734#define MAX_ITEM_SUBCLASS_PROFESSION 14
735
737{
758};
759
760#define MAX_ITEM_SUBCLASS_TOTAL 21
761
763{
765 MAX_ITEM_LEVEL = 1300
767
768class Player;
770
772{
775
776 uint32 GetId() const { return BasicData->ID; }
777 uint32 GetClass() const { return BasicData->ClassID; }
778 uint32 GetSubClass() const { return BasicData->SubclassID; }
779 uint32 GetQuality() const { return ExtendedData->OverallQualityID; }
780 uint32 GetOtherFactionItemId() const { return ExtendedData->FactionRelated; }
781 float GetPriceRandomValue() const { return ExtendedData->PriceRandomValue; }
782 float GetPriceVariance() const { return ExtendedData->PriceVariance; }
783 uint32 GetBuyCount() const { return std::max<uint32>(ExtendedData->VendorStackCount, 1u); }
784 uint32 GetBuyPrice() const { return ExtendedData->BuyPrice; }
785 uint32 GetSellPrice() const { return ExtendedData->SellPrice; }
787 int32 GetAllowableClass() const { return ExtendedData->AllowableClass; }
789 uint32 GetBaseItemLevel() const { return ExtendedData->ItemLevel; }
790 int32 GetBaseRequiredLevel() const { return ExtendedData->RequiredLevel; }
791 uint32 GetRequiredSkill() const { return ExtendedData->RequiredSkill; }
792 uint32 GetRequiredSkillRank() const { return ExtendedData->RequiredSkillRank; }
793 uint32 GetRequiredSpell() const { return ExtendedData->RequiredAbility; }
794 uint32 GetRequiredReputationFaction() const { return ExtendedData->MinFactionID; }
795 uint32 GetRequiredReputationRank() const { return ExtendedData->MinReputation; }
796 uint32 GetMaxCount() const { return ExtendedData->MaxCount; }
797 uint32 GetContainerSlots() const { return ExtendedData->ContainerSlots; }
798 int32 GetStatModifierBonusStat(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->StatModifierBonusStat[index]; }
799 int32 GetStatPercentEditor(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->StatPercentEditor[index]; }
800 float GetStatPercentageOfSocket(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->StatPercentageOfSocket[index]; }
801 uint32 GetScalingStatContentTuning() const { return ExtendedData->ContentTuningID; }
803 uint32 GetDamageType() const { return ExtendedData->DamageDamageType; }
804 uint32 GetDelay() const { return ExtendedData->ItemDelay; }
805 float GetRangedModRange() const { return ExtendedData->ItemRange; }
806 ItemBondingType GetBonding() const { return ItemBondingType(ExtendedData->Bonding); }
807 char const* GetName(LocaleConstant locale) const;
808 uint32 GetPageText() const { return ExtendedData->PageID; }
809 uint32 GetStartQuest() const { return ExtendedData->StartQuestID; }
810 uint32 GetLockID() const { return ExtendedData->LockID; }
811 uint32 GetItemSet() const { return ExtendedData->ItemSet; }
812 uint32 GetArea(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_ZONES); return ExtendedData->ZoneBound[index]; }
813 uint32 GetMap() const { return ExtendedData->InstanceBound; }
814 uint32 GetBagFamily() const { return ExtendedData->BagFamily; }
815 uint32 GetTotemCategory() const { return ExtendedData->TotemCategoryID; }
816 SocketColor GetSocketColor(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_SOCKETS); return SocketColor(ExtendedData->SocketType[index]); }
817 uint32 GetSocketBonus() const { return ExtendedData->SocketMatchEnchantmentId; }
818 uint32 GetGemProperties() const { return ExtendedData->GemProperties; }
819 float GetQualityModifier() const { return ExtendedData->QualityModifier; }
820 uint32 GetDuration() const { return ExtendedData->DurationInInventory; }
821 uint32 GetItemLimitCategory() const { return ExtendedData->LimitCategory; }
822 HolidayIds GetHolidayID() const { return HolidayIds(ExtendedData->RequiredHoliday); }
823 float GetDmgVariance() const { return ExtendedData->DmgVariance; }
824 uint8 GetArtifactID() const { return ExtendedData->ArtifactID; }
825 uint8 GetRequiredExpansion() const { return ExtendedData->ExpansionID; }
826
828 std::vector<ItemEffectEntry const*> Effects;
829
830 // extra fields, not part of db2 files
838 std::bitset<MAX_CLASSES * MAX_SPECIALIZATIONS> Specializations[3]; // one set for 1-40 level range and another for 41-109 and one for 110
841
842 // helpers
843 bool CanChangeEquipStateInCombat() const;
844
845 bool IsCurrencyToken() const { return (GetBagFamily() & BAG_FAMILY_MASK_CURRENCY_TOKENS) != 0; }
846
848 {
849 return (ExtendedData->Stackable == 2147483647 || ExtendedData->Stackable <= 0) ? uint32(0x7FFFFFFF - 1) : uint32(ExtendedData->Stackable);
850 }
851
852 uint32 GetSkill() const;
853
854 bool IsPotion() const { return GetClass() == ITEM_CLASS_CONSUMABLE && GetSubClass() == ITEM_SUBCLASS_POTION; }
855 bool IsVellum() const { return HasFlag(ITEM_FLAG3_CAN_STORE_ENCHANTS); }
856 bool IsConjuredConsumable() const { return GetClass() == ITEM_CLASS_CONSUMABLE && HasFlag(ITEM_FLAG_CONJURED); }
857 bool IsCraftingReagent() const { return HasFlag(ITEM_FLAG2_USED_IN_A_TRADESKILL); }
858 bool HasSignature() const;
859
860 bool IsWeapon() const { return GetClass() == ITEM_CLASS_WEAPON; }
861 bool IsArmor() const { return GetClass() == ITEM_CLASS_ARMOR; }
862
863 bool IsRangedWeapon() const
864 {
865 return IsWeapon() &&
866 (GetSubClass() == ITEM_SUBCLASS_WEAPON_BOW ||
867 GetSubClass() == ITEM_SUBCLASS_WEAPON_GUN ||
868 GetSubClass() == ITEM_SUBCLASS_WEAPON_CROSSBOW);
869 }
870
871 inline bool HasFlag(ItemFlags flag) const { return (ExtendedData->Flags[0] & flag) != 0; }
872 inline bool HasFlag(ItemFlags2 flag) const { return (ExtendedData->Flags[1] & flag) != 0; }
873 inline bool HasFlag(ItemFlags3 flag) const { return (ExtendedData->Flags[2] & flag) != 0; }
874 inline bool HasFlag(ItemFlags4 flag) const { return (ExtendedData->Flags[3] & flag) != 0; }
875 inline bool HasFlag(ItemFlagsCustom customFlag) const { return (FlagsCu & customFlag) != 0; }
876
877 char const* GetDefaultLocaleName() const;
878 uint32 GetArmor(uint32 itemLevel) const;
879 float GetDPS(uint32 itemLevel) const;
880 void GetDamage(uint32 itemLevel, float& minDamage, float& maxDamage) const;
881 bool IsUsableByLootSpecialization(Player const* player, bool alwaysAllowBoundToAccount) const;
882 static std::size_t CalculateItemSpecBit(ChrSpecializationEntry const* spec);
883};
884
885#endif
LocaleConstant
Definition: Common.h:48
#define MAX_ITEM_PROTO_SOCKETS
Definition: DBCEnums.h:989
#define MAX_ITEM_PROTO_STATS
Definition: DBCEnums.h:990
#define MAX_ITEM_PROTO_ZONES
Definition: DBCEnums.h:988
#define TC_GAME_API
Definition: Define.h:123
uint8_t uint8
Definition: Define.h:144
int32_t int32
Definition: Define.h:138
uint32_t uint32
Definition: Define.h:142
#define ASSERT
Definition: Errors.h:68
#define MAX_ITEM_SUBCLASS_MONEY
Definition: ItemTemplate.h:635
ItemSubclassItemEnhancement
Definition: ItemTemplate.h:592
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_SHOULDER
Definition: ItemTemplate.h:595
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_HEAD
Definition: ItemTemplate.h:593
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_CHEST
Definition: ItemTemplate.h:597
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_HANDS
Definition: ItemTemplate.h:599
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_TWO_HANDED_WEAPON
Definition: ItemTemplate.h:605
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_FINGER
Definition: ItemTemplate.h:603
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_CLOAK
Definition: ItemTemplate.h:596
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_NECK
Definition: ItemTemplate.h:594
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_MISC
Definition: ItemTemplate.h:607
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_FEET
Definition: ItemTemplate.h:602
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_WEAPON
Definition: ItemTemplate.h:604
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_SHIELD_OFF_HAND
Definition: ItemTemplate.h:606
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_WAIST
Definition: ItemTemplate.h:600
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_LEGS
Definition: ItemTemplate.h:601
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT_WRIST
Definition: ItemTemplate.h:598
ItemClass
Definition: ItemTemplate.h:419
@ ITEM_CLASS_QUIVER
Definition: ItemTemplate.h:431
@ ITEM_CLASS_RECIPE
Definition: ItemTemplate.h:429
@ ITEM_CLASS_PROFESSION
Definition: ItemTemplate.h:439
@ ITEM_CLASS_KEY
Definition: ItemTemplate.h:433
@ ITEM_CLASS_CONTAINER
Definition: ItemTemplate.h:421
@ ITEM_CLASS_TRADE_GOODS
Definition: ItemTemplate.h:427
@ ITEM_CLASS_REAGENT
Definition: ItemTemplate.h:425
@ ITEM_CLASS_MONEY
Definition: ItemTemplate.h:430
@ ITEM_CLASS_BATTLE_PETS
Definition: ItemTemplate.h:437
@ ITEM_CLASS_PERMANENT
Definition: ItemTemplate.h:434
@ ITEM_CLASS_GLYPH
Definition: ItemTemplate.h:436
@ ITEM_CLASS_PROJECTILE
Definition: ItemTemplate.h:426
@ ITEM_CLASS_GEM
Definition: ItemTemplate.h:423
@ ITEM_CLASS_WOW_TOKEN
Definition: ItemTemplate.h:438
@ ITEM_CLASS_ITEM_ENHANCEMENT
Definition: ItemTemplate.h:428
@ ITEM_CLASS_ARMOR
Definition: ItemTemplate.h:424
@ ITEM_CLASS_QUEST
Definition: ItemTemplate.h:432
@ ITEM_CLASS_MISCELLANEOUS
Definition: ItemTemplate.h:435
@ ITEM_CLASS_WEAPON
Definition: ItemTemplate.h:422
@ ITEM_CLASS_CONSUMABLE
Definition: ItemTemplate.h:420
ItemFlags2
Definition: ItemTemplate.h:211
@ ITEM_FLAG2_USED_IN_A_TRADESKILL
Definition: ItemTemplate.h:243
@ ITEM_FLAG2_CAN_DROP_IN_CHALLENGE_MODE
Definition: ItemTemplate.h:240
@ ITEM_FLAG2_NEVER_STACK_IN_LOOT_UI
Definition: ItemTemplate.h:241
@ ITEM_FLAG2_ROLE_HEALER
Definition: ItemTemplate.h:238
@ ITEM_FLAG2_ROLE_DAMAGE
Definition: ItemTemplate.h:239
@ ITEM_FLAG2_INTERNAL_ITEM
Definition: ItemTemplate.h:223
@ ITEM_FLAG2_CLASSIFY_AS_PHYSICAL
Definition: ItemTemplate.h:216
@ ITEM_FLAG2_NOT_USABLE_IN_RATED_BG
Definition: ItemTemplate.h:228
@ ITEM_FLAG2_EVERYONE_CAN_ROLL_NEED
Definition: ItemTemplate.h:217
@ ITEM_FLAG2_NO_SOURCE_FOR_ITEM_VISUAL
Definition: ItemTemplate.h:234
@ ITEM_FLAG2_IGNORE_QUALITY_FOR_ITEM_VISUAL_SOURCE
Definition: ItemTemplate.h:235
@ ITEM_FLAG2_CLASSIFY_AS_CASTER
Definition: ItemTemplate.h:215
@ ITEM_FLAG2_NO_DURABILITY
Definition: ItemTemplate.h:236
@ ITEM_FLAG2_NO_TRADE_BIND_ON_ACQUIRE
Definition: ItemTemplate.h:218
@ ITEM_FLAG2_REEVALUATE_BONDING_ON_TRANSFORM
Definition: ItemTemplate.h:231
@ ITEM_FLAG2_CONFIRM_BEFORE_USE
Definition: ItemTemplate.h:230
@ ITEM_FLAG2_NO_VENDOR_VALUE
Definition: ItemTemplate.h:224
@ ITEM_FLAG2_DONT_IGNORE_BUY_PRICE
Definition: ItemTemplate.h:214
@ ITEM_FLAG2_CAN_TRADE_BIND_ON_ACQUIRE
Definition: ItemTemplate.h:219
@ ITEM_FLAG2_NO_ALTER_ITEM_VISUAL
Definition: ItemTemplate.h:233
@ ITEM_FLAG2_FACTION_HORDE
Definition: ItemTemplate.h:212
@ ITEM_FLAG2_CASTER_WEAPON
Definition: ItemTemplate.h:221
@ ITEM_FLAG2_DISENCHANT_TO_LOOT_TABLE
Definition: ItemTemplate.h:242
@ ITEM_FLAG2_FACTION_ALLIANCE
Definition: ItemTemplate.h:213
@ ITEM_FLAG2_OVERRIDE_GOLD_COST
Definition: ItemTemplate.h:226
@ ITEM_FLAG2_BNET_ACCOUNT_TRADE_OK
Definition: ItemTemplate.h:229
@ ITEM_FLAG2_CAN_ONLY_ROLL_GREED
Definition: ItemTemplate.h:220
@ ITEM_FLAG2_DELETE_ON_LOGIN
Definition: ItemTemplate.h:222
@ ITEM_FLAG2_SHOW_BEFORE_DISCOVERED
Definition: ItemTemplate.h:225
@ ITEM_FLAG2_NO_TRANSFORM_ON_CHARGE_DEPLETION
Definition: ItemTemplate.h:232
@ ITEM_FLAG2_IGNORE_DEFAULT_RATED_BG_RESTRICTIONS
Definition: ItemTemplate.h:227
@ ITEM_FLAG2_ROLE_TANK
Definition: ItemTemplate.h:237
#define MAX_ITEM_SUBCLASS_WOW_TOKEN
Definition: ItemTemplate.h:714
ItemSubclassWeapon
Definition: ItemTemplate.h:479
@ ITEM_SUBCLASS_WEAPON_MISCELLANEOUS
Definition: ItemTemplate.h:494
@ ITEM_SUBCLASS_WEAPON_CROSSBOW
Definition: ItemTemplate.h:498
@ ITEM_SUBCLASS_WEAPON_GUN
Definition: ItemTemplate.h:483
@ ITEM_SUBCLASS_WEAPON_AXE2
Definition: ItemTemplate.h:481
@ ITEM_SUBCLASS_WEAPON_SPEAR
Definition: ItemTemplate.h:497
@ ITEM_SUBCLASS_WEAPON_STAFF
Definition: ItemTemplate.h:490
@ ITEM_SUBCLASS_WEAPON_MACE
Definition: ItemTemplate.h:484
@ ITEM_SUBCLASS_WEAPON_EXOTIC2
Definition: ItemTemplate.h:492
@ ITEM_SUBCLASS_WEAPON_WARGLAIVES
Definition: ItemTemplate.h:489
@ ITEM_SUBCLASS_WEAPON_FISHING_POLE
Definition: ItemTemplate.h:500
@ ITEM_SUBCLASS_WEAPON_MACE2
Definition: ItemTemplate.h:485
@ ITEM_SUBCLASS_WEAPON_DAGGER
Definition: ItemTemplate.h:495
@ ITEM_SUBCLASS_WEAPON_BOW
Definition: ItemTemplate.h:482
@ ITEM_SUBCLASS_WEAPON_SWORD
Definition: ItemTemplate.h:487
@ ITEM_SUBCLASS_WEAPON_AXE
Definition: ItemTemplate.h:480
@ ITEM_SUBCLASS_WEAPON_FIST_WEAPON
Definition: ItemTemplate.h:493
@ ITEM_SUBCLASS_WEAPON_WAND
Definition: ItemTemplate.h:499
@ ITEM_SUBCLASS_WEAPON_EXOTIC
Definition: ItemTemplate.h:491
@ ITEM_SUBCLASS_WEAPON_THROWN
Definition: ItemTemplate.h:496
@ ITEM_SUBCLASS_WEAPON_SWORD2
Definition: ItemTemplate.h:488
@ ITEM_SUBCLASS_WEAPON_POLEARM
Definition: ItemTemplate.h:486
ItemSubclassGlyph
Definition: ItemTemplate.h:685
@ ITEM_SUBCLASS_GLYPH_WARLOCK
Definition: ItemTemplate.h:694
@ ITEM_SUBCLASS_GLYPH_PRIEST
Definition: ItemTemplate.h:690
@ ITEM_SUBCLASS_GLYPH_WARRIOR
Definition: ItemTemplate.h:686
@ ITEM_SUBCLASS_GLYPH_MONK
Definition: ItemTemplate.h:695
@ ITEM_SUBCLASS_GLYPH_DEMON_HUNTER
Definition: ItemTemplate.h:697
@ ITEM_SUBCLASS_GLYPH_ROGUE
Definition: ItemTemplate.h:689
@ ITEM_SUBCLASS_GLYPH_HUNTER
Definition: ItemTemplate.h:688
@ ITEM_SUBCLASS_GLYPH_SHAMAN
Definition: ItemTemplate.h:692
@ ITEM_SUBCLASS_GLYPH_DEATH_KNIGHT
Definition: ItemTemplate.h:691
@ ITEM_SUBCLASS_GLYPH_PALADIN
Definition: ItemTemplate.h:687
@ ITEM_SUBCLASS_GLYPH_MAGE
Definition: ItemTemplate.h:693
@ ITEM_SUBCLASS_GLYPH_DRUID
Definition: ItemTemplate.h:696
#define MAX_ITEM_SUBCLASS_RECIPE
Definition: ItemTemplate.h:628
#define MAX_ITEM_SUBCLASS_KEY
Definition: ItemTemplate.h:662
ItemFieldFlags
Definition: ItemTemplate.h:130
@ ITEM_FIELD_FLAG_UNK15
Definition: ItemTemplate.h:151
@ ITEM_FIELD_FLAG_NEW_ITEM
Definition: ItemTemplate.h:152
@ ITEM_FIELD_FLAG_UNK26
Definition: ItemTemplate.h:162
@ ITEM_FIELD_FLAG_UNK24
Definition: ItemTemplate.h:160
@ ITEM_FIELD_FLAG_REFUNDABLE
Definition: ItemTemplate.h:143
@ ITEM_FIELD_FLAG_UNLOCKED
Definition: ItemTemplate.h:133
@ ITEM_FIELD_FLAG_UNK9
Definition: ItemTemplate.h:145
@ ITEM_FIELD_FLAG_CHILD
Definition: ItemTemplate.h:150
@ ITEM_FIELD_FLAG_READABLE
Definition: ItemTemplate.h:140
@ ITEM_FIELD_FLAG_TRANSLATED
Definition: ItemTemplate.h:132
@ ITEM_FIELD_FLAG_UNK21
Definition: ItemTemplate.h:157
@ ITEM_FIELD_FLAG_UNK23
Definition: ItemTemplate.h:159
@ ITEM_FIELD_FLAG_SOULBOUND
Definition: ItemTemplate.h:131
@ ITEM_FIELD_FLAG_UNK4
Definition: ItemTemplate.h:137
@ ITEM_FIELD_FLAG_UNK12
Definition: ItemTemplate.h:148
@ ITEM_FIELD_FLAG_AZERITE_EMPOWERED_ITEM_VIEWED
Definition: ItemTemplate.h:153
@ ITEM_FIELD_FLAG_UNK8
Definition: ItemTemplate.h:144
@ ITEM_FIELD_FLAG_WRAPPED
Definition: ItemTemplate.h:134
@ ITEM_FIELD_FLAG_UNK18
Definition: ItemTemplate.h:154
@ ITEM_FIELD_FLAG_UNK3
Definition: ItemTemplate.h:136
@ ITEM_FIELD_FLAG_UNK25
Definition: ItemTemplate.h:161
@ ITEM_FIELD_FLAG_UNK20
Definition: ItemTemplate.h:156
@ ITEM_FIELD_FLAG_UNK7
Definition: ItemTemplate.h:142
@ ITEM_FIELD_FLAG_UNK22
Definition: ItemTemplate.h:158
@ ITEM_FIELD_FLAG_UNK2
Definition: ItemTemplate.h:135
@ ITEM_FIELD_FLAG_UNK13
Definition: ItemTemplate.h:149
@ ITEM_FIELD_FLAG_UNK6
Definition: ItemTemplate.h:141
@ ITEM_FIELD_FLAG_BOP_TRADEABLE
Definition: ItemTemplate.h:139
@ ITEM_FIELD_FLAG_UNK5
Definition: ItemTemplate.h:138
@ ITEM_FIELD_FLAG_UNK19
Definition: ItemTemplate.h:155
@ ITEM_FIELD_FLAG_UNK10
Definition: ItemTemplate.h:146
@ ITEM_FIELD_FLAG_UNK11
Definition: ItemTemplate.h:147
ItemSpelltriggerType
Definition: ItemTemplate.h:103
@ ITEM_SPELLTRIGGER_ON_DEATH
Definition: ItemTemplate.h:108
@ ITEM_SPELLTRIGGER_ON_USE
Definition: ItemTemplate.h:104
@ ITEM_SPELLTRIGGER_ON_LEARN
Definition: ItemTemplate.h:110
@ ITEM_SPELLTRIGGER_ON_LOOTED
Definition: ItemTemplate.h:111
@ ITEM_SPELLTRIGGER_ON_PROC
Definition: ItemTemplate.h:106
@ ITEM_SPELLTRIGGER_ON_PICKUP
Definition: ItemTemplate.h:109
@ ITEM_SPELLTRIGGER_SUMMONED_BY_SPELL
Definition: ItemTemplate.h:107
@ ITEM_SPELLTRIGGER_ON_EQUIP
Definition: ItemTemplate.h:105
BAG_FAMILY_MASK
Definition: ItemTemplate.h:323
@ BAG_FAMILY_MASK_MINING_SUPP
Definition: ItemTemplate.h:335
@ BAG_FAMILY_MASK_HERBS
Definition: ItemTemplate.h:330
@ BAG_FAMILY_MASK_ENCHANTING_SUPP
Definition: ItemTemplate.h:331
@ BAG_FAMILY_MASK_SOUL_SHARDS
Definition: ItemTemplate.h:327
@ BAG_FAMILY_MASK_CURRENCY_TOKENS
Definition: ItemTemplate.h:338
@ BAG_FAMILY_MASK_INSCRIPTION_SUPP
Definition: ItemTemplate.h:329
@ BAG_FAMILY_MASK_NONE
Definition: ItemTemplate.h:324
@ BAG_FAMILY_MASK_GEMS
Definition: ItemTemplate.h:334
@ BAG_FAMILY_MASK_VANITY_PETS
Definition: ItemTemplate.h:337
@ BAG_FAMILY_MASK_SOULBOUND_EQUIPMENT
Definition: ItemTemplate.h:336
@ BAG_FAMILY_MASK_ARROWS
Definition: ItemTemplate.h:325
@ BAG_FAMILY_MASK_BULLETS
Definition: ItemTemplate.h:326
@ BAG_FAMILY_MASK_QUEST_ITEMS
Definition: ItemTemplate.h:339
@ BAG_FAMILY_MASK_KEYS
Definition: ItemTemplate.h:333
@ BAG_FAMILY_MASK_ENGINEERING_SUPP
Definition: ItemTemplate.h:332
@ BAG_FAMILY_MASK_COOKING_SUPP
Definition: ItemTemplate.h:341
@ BAG_FAMILY_MASK_FISHING_SUPP
Definition: ItemTemplate.h:340
@ BAG_FAMILY_MASK_LEATHERWORKING_SUPP
Definition: ItemTemplate.h:328
ItemSubclassContainer
Definition: ItemTemplate.h:461
@ ITEM_SUBCLASS_CONTAINER
Definition: ItemTemplate.h:462
@ ITEM_SUBCLASS_REAGENT_CONTAINER
Definition: ItemTemplate.h:473
@ ITEM_SUBCLASS_COOKING_CONTAINER
Definition: ItemTemplate.h:472
@ ITEM_SUBCLASS_INSCRIPTION_CONTAINER
Definition: ItemTemplate.h:470
@ ITEM_SUBCLASS_LEATHERWORKING_CONTAINER
Definition: ItemTemplate.h:469
@ ITEM_SUBCLASS_TACKLE_CONTAINER
Definition: ItemTemplate.h:471
@ ITEM_SUBCLASS_GEM_CONTAINER
Definition: ItemTemplate.h:467
@ ITEM_SUBCLASS_SOUL_CONTAINER
Definition: ItemTemplate.h:463
@ ITEM_SUBCLASS_ENCHANTING_CONTAINER
Definition: ItemTemplate.h:465
@ ITEM_SUBCLASS_MINING_CONTAINER
Definition: ItemTemplate.h:468
@ ITEM_SUBCLASS_HERB_CONTAINER
Definition: ItemTemplate.h:464
@ ITEM_SUBCLASS_ENGINEERING_CONTAINER
Definition: ItemTemplate.h:466
ItemSubclassQuiver
Definition: ItemTemplate.h:638
@ ITEM_SUBCLASS_QUIVER1
Definition: ItemTemplate.h:640
@ ITEM_SUBCLASS_QUIVER0
Definition: ItemTemplate.h:639
@ ITEM_SUBCLASS_QUIVER
Definition: ItemTemplate.h:641
@ ITEM_SUBCLASS_AMMO_POUCH
Definition: ItemTemplate.h:642
ItemFlags
Definition: ItemTemplate.h:175
@ ITEM_FLAG_NO_PICKUP
Definition: ItemTemplate.h:176
@ ITEM_FLAG_NO_DURABILITY_LOSS
Definition: ItemTemplate.h:198
@ ITEM_FLAG_IS_MILLABLE
Definition: ItemTemplate.h:205
@ ITEM_FLAG_REAL_DURATION
Definition: ItemTemplate.h:192
@ ITEM_FLAG_NO_REAGENT_COST
Definition: ItemTemplate.h:204
@ ITEM_FLAG_IS_WRAPPER
Definition: ItemTemplate.h:185
@ ITEM_FLAG_LEGACY
Definition: ItemTemplate.h:184
@ ITEM_FLAG_IS_PROSPECTABLE
Definition: ItemTemplate.h:194
@ ITEM_FLAG_IGNORE_DEFAULT_ARENA_RESTRICTIONS
Definition: ItemTemplate.h:197
@ ITEM_FLAG_USE_WHEN_SHAPESHIFTED
Definition: ItemTemplate.h:199
@ ITEM_FLAG_DISABLE_AUTO_QUOTES
Definition: ItemTemplate.h:196
@ ITEM_FLAG_HIDE_UNUSABLE_RECIPE
Definition: ItemTemplate.h:201
@ ITEM_FLAG_PETITION
Definition: ItemTemplate.h:189
@ ITEM_FLAG_NO_USER_DESTROY
Definition: ItemTemplate.h:181
@ ITEM_FLAG_HAS_LOOT
Definition: ItemTemplate.h:178
@ ITEM_FLAG_NO_DISENCHANT
Definition: ItemTemplate.h:191
@ ITEM_FLAG_NO_EQUIP_COOLDOWN
Definition: ItemTemplate.h:183
@ ITEM_FLAG_UNIQUE_EQUIPPABLE
Definition: ItemTemplate.h:195
@ ITEM_FLAG_REPORT_TO_GUILD_CHAT
Definition: ItemTemplate.h:206
@ ITEM_FLAG_NO_PROGRESSIVE_LOOT
Definition: ItemTemplate.h:207
@ ITEM_FLAG_ITEM_PURCHASE_RECORD
Definition: ItemTemplate.h:188
@ ITEM_FLAG_DEPRECATED
Definition: ItemTemplate.h:180
@ ITEM_FLAG_HEROIC_TOOLTIP
Definition: ItemTemplate.h:179
@ ITEM_FLAG_USES_RESOURCES
Definition: ItemTemplate.h:186
@ ITEM_FLAG_PLAYERCAST
Definition: ItemTemplate.h:182
@ ITEM_FLAG_MULTI_DROP
Definition: ItemTemplate.h:187
@ ITEM_FLAG_NOT_USEABLE_IN_ARENA
Definition: ItemTemplate.h:202
@ ITEM_FLAG_NO_CREATOR
Definition: ItemTemplate.h:193
@ ITEM_FLAG_IS_BOUND_TO_ACCOUNT
Definition: ItemTemplate.h:203
@ ITEM_FLAG_HAS_QUEST_GLOW
Definition: ItemTemplate.h:200
@ ITEM_FLAG_CONJURED
Definition: ItemTemplate.h:177
@ ITEM_FLAG_HAS_TEXT
Definition: ItemTemplate.h:190
ItemFlags3
Definition: ItemTemplate.h:247
@ ITEM_FLAG3_DO_NOT_TOAST
Definition: ItemTemplate.h:274
@ ITEM_FLAG3_REQUIRES_STACK_CHANGE_LOG
Definition: ItemTemplate.h:262
@ ITEM_FLAG3_ALWAYS_FFA_IN_LOOT
Definition: ItemTemplate.h:251
@ ITEM_FLAG3_IGNORE_CREATION_CONTEXT_FOR_PROGRESSIVE_WIN_HISTORY
Definition: ItemTemplate.h:275
@ ITEM_FLAG3_PUSH_LOOT
Definition: ItemTemplate.h:265
@ ITEM_FLAG3_UNUSED_FLAG
Definition: ItemTemplate.h:263
@ ITEM_FLAG3_SKIP_USE_CHECK_ON_PICKUP
Definition: ItemTemplate.h:258
@ ITEM_FLAG3_HIDE_UPGRADE_LEVELS_IF_NOT_UPGRADED
Definition: ItemTemplate.h:252
@ ITEM_FLAG3_DONT_DESTROY_ON_QUEST_ACCEPT
Definition: ItemTemplate.h:248
@ ITEM_FLAG3_DONT_DISPLAY_IN_GUILD_NEWS
Definition: ItemTemplate.h:260
@ ITEM_FLAG3_SAVE_ON_CONSUME
Definition: ItemTemplate.h:277
@ ITEM_FLAG3_PVP_TOURNAMENT_GEAR
Definition: ItemTemplate.h:261
@ ITEM_FLAG3_CONTAINER_SAVES_PLAYER_DATA
Definition: ItemTemplate.h:278
@ ITEM_FLAG3_CAN_STORE_ENCHANTS
Definition: ItemTemplate.h:272
@ ITEM_FLAG3_UPDATE_DOESNT_LEAVE_PROGRESSIVE_WIN_HISTORY
Definition: ItemTemplate.h:254
@ ITEM_FLAG3_ITEM_CAN_BE_UPGRADED
Definition: ItemTemplate.h:249
@ ITEM_FLAG3_EXPIRE_ON_WEEKLY_RESET
Definition: ItemTemplate.h:270
@ ITEM_FLAG3_FORCE_ALL_SPECS_FOR_ITEM_HISTORY
Definition: ItemTemplate.h:276
@ ITEM_FLAG3_UPGRADE_FROM_ITEM_OVERRIDES_DROP_UPGRADE
Definition: ItemTemplate.h:250
@ ITEM_FLAG3_HIDE_QUEST_ITEM_FROM_OBJECT_TOOLTIP
Definition: ItemTemplate.h:273
@ ITEM_FLAG3_DONT_REPORT_LOOT_LOG_TO_PARTY
Definition: ItemTemplate.h:266
@ ITEM_FLAG3_IGNORE_ITEM_HISTORY_TRACKER
Definition: ItemTemplate.h:255
@ ITEM_FLAG3_UPDATE_INTERACTIONS
Definition: ItemTemplate.h:253
@ ITEM_FLAG3_HIDE_NAME_SUFFIX
Definition: ItemTemplate.h:264
@ ITEM_FLAG3_DOESNT_SHOW_UP_IN_TRANSMOG_UNTIL_COLLECTED
Definition: ItemTemplate.h:271
@ ITEM_FLAG3_ALWAYS_ALLOW_DUAL_WIELD
Definition: ItemTemplate.h:267
@ ITEM_FLAG3_IGNORE_ITEM_LEVEL_CAP_IN_PVP
Definition: ItemTemplate.h:256
@ ITEM_FLAG3_OBLITERATABLE
Definition: ItemTemplate.h:268
@ ITEM_FLAG3_ACTS_AS_TRANSMOG_HIDDEN_VISUAL_OPTION
Definition: ItemTemplate.h:269
@ ITEM_FLAG3_NO_VOID_STORAGE
Definition: ItemTemplate.h:279
@ ITEM_FLAG3_OBSOLETE
Definition: ItemTemplate.h:259
@ ITEM_FLAG3_DISPLAY_AS_HEIRLOOM
Definition: ItemTemplate.h:257
ItemSubclassWowToken
Definition: ItemTemplate.h:710
@ ITEM_SUBCLASS_WOW_TOKEN
Definition: ItemTemplate.h:711
ItemSubclassProfession
Definition: ItemTemplate.h:717
@ ITEM_SUBCLASS_PROFESSION_ENCHANTING
Definition: ItemTemplate.h:726
@ ITEM_SUBCLASS_PROFESSION_ALCHEMY
Definition: ItemTemplate.h:720
@ ITEM_SUBCLASS_PROFESSION_INSCRIPTION
Definition: ItemTemplate.h:730
@ ITEM_SUBCLASS_PROFESSION_ENGINEERING
Definition: ItemTemplate.h:725
@ ITEM_SUBCLASS_PROFESSION_BLACKSMITHING
Definition: ItemTemplate.h:718
@ ITEM_SUBCLASS_PROFESSION_LEATHERWORKING
Definition: ItemTemplate.h:719
@ ITEM_SUBCLASS_PROFESSION_JEWELCRAFTING
Definition: ItemTemplate.h:729
@ ITEM_SUBCLASS_PROFESSION_ARCHAEOLOGY
Definition: ItemTemplate.h:731
@ ITEM_SUBCLASS_PROFESSION_SKINNING
Definition: ItemTemplate.h:728
@ ITEM_SUBCLASS_PROFESSION_TAILORING
Definition: ItemTemplate.h:724
@ ITEM_SUBCLASS_PROFESSION_FISHING
Definition: ItemTemplate.h:727
@ ITEM_SUBCLASS_PROFESSION_HERBALISM
Definition: ItemTemplate.h:721
@ ITEM_SUBCLASS_PROFESSION_MINING
Definition: ItemTemplate.h:723
@ ITEM_SUBCLASS_PROFESSION_COOKING
Definition: ItemTemplate.h:722
ItemModType
Definition: ItemTemplate.h:29
@ ITEM_MOD_HOLY_RESISTANCE
Definition: ItemTemplate.h:78
@ ITEM_MOD_CR_UNUSED_11
Definition: ItemTemplate.h:94
@ ITEM_MOD_CRIT_TAKEN_RANGED_RATING
Definition: ItemTemplate.h:51
@ ITEM_MOD_AGI_STR_INT
Definition: ItemTemplate.h:96
@ ITEM_MOD_CR_UNUSED_9
Definition: ItemTemplate.h:92
@ ITEM_MOD_CORRUPTION_RESISTANCE
Definition: ItemTemplate.h:48
@ ITEM_MOD_CR_AVOIDANCE
Definition: ItemTemplate.h:88
@ ITEM_MOD_AGI_INT
Definition: ItemTemplate.h:98
@ ITEM_MOD_NATURE_RESISTANCE
Definition: ItemTemplate.h:80
@ ITEM_MOD_HIT_MELEE_RATING
Definition: ItemTemplate.h:41
@ ITEM_MOD_MASTERY_RATING
Definition: ItemTemplate.h:74
@ ITEM_MOD_STAMINA
Definition: ItemTemplate.h:36
@ ITEM_MOD_HIT_SPELL_RATING
Definition: ItemTemplate.h:43
@ ITEM_MOD_CR_STURDINESS
Definition: ItemTemplate.h:89
@ ITEM_MOD_SPELL_PENETRATION
Definition: ItemTemplate.h:72
@ ITEM_MOD_STR_INT
Definition: ItemTemplate.h:99
@ ITEM_MOD_PARRY_RATING
Definition: ItemTemplate.h:39
@ ITEM_MOD_DEFENSE_SKILL_RATING
Definition: ItemTemplate.h:37
@ ITEM_MOD_MODIFIED_CRAFTING_STAT_2
Definition: ItemTemplate.h:50
@ ITEM_MOD_HASTE_RANGED_RATING
Definition: ItemTemplate.h:54
@ ITEM_MOD_CRIT_TAKEN_RATING
Definition: ItemTemplate.h:59
@ ITEM_MOD_CR_UNUSED_7
Definition: ItemTemplate.h:90
@ ITEM_MOD_EXPERTISE_RATING
Definition: ItemTemplate.h:62
@ ITEM_MOD_MANA
Definition: ItemTemplate.h:30
@ ITEM_MOD_RANGED_ATTACK_POWER
Definition: ItemTemplate.h:64
@ ITEM_MOD_HEALTH
Definition: ItemTemplate.h:31
@ ITEM_MOD_CR_LIFESTEAL
Definition: ItemTemplate.h:87
@ ITEM_MOD_VERSATILITY
Definition: ItemTemplate.h:65
@ ITEM_MOD_CRIT_TAKEN_SPELL_RATING
Definition: ItemTemplate.h:52
@ ITEM_MOD_SPIRIT
Definition: ItemTemplate.h:35
@ ITEM_MOD_FROST_RESISTANCE
Definition: ItemTemplate.h:77
@ ITEM_MOD_SPELL_POWER
Definition: ItemTemplate.h:70
@ ITEM_MOD_SHADOW_RESISTANCE
Definition: ItemTemplate.h:79
@ ITEM_MOD_CR_UNUSED_0
Definition: ItemTemplate.h:83
@ ITEM_MOD_EXTRA_ARMOR
Definition: ItemTemplate.h:75
@ ITEM_MOD_HASTE_SPELL_RATING
Definition: ItemTemplate.h:55
@ ITEM_MOD_ATTACK_POWER
Definition: ItemTemplate.h:63
@ ITEM_MOD_FIRE_RESISTANCE
Definition: ItemTemplate.h:76
@ ITEM_MOD_CR_UNUSED_1
Definition: ItemTemplate.h:84
@ ITEM_MOD_HASTE_RATING
Definition: ItemTemplate.h:61
@ ITEM_MOD_HIT_RANGED_RATING
Definition: ItemTemplate.h:42
@ ITEM_MOD_CRIT_SPELL_RATING
Definition: ItemTemplate.h:46
@ ITEM_MOD_CR_UNUSED_10
Definition: ItemTemplate.h:93
@ ITEM_MOD_BLOCK_VALUE
Definition: ItemTemplate.h:73
@ ITEM_MOD_CRIT_RANGED_RATING
Definition: ItemTemplate.h:45
@ ITEM_MOD_CRIT_MELEE_RATING
Definition: ItemTemplate.h:44
@ ITEM_MOD_STRENGTH
Definition: ItemTemplate.h:33
@ ITEM_MOD_HEALTH_REGEN
Definition: ItemTemplate.h:71
@ ITEM_MOD_MODIFIED_CRAFTING_STAT_1
Definition: ItemTemplate.h:49
@ ITEM_MOD_BLOCK_RATING
Definition: ItemTemplate.h:40
@ ITEM_MOD_CR_UNUSED_3
Definition: ItemTemplate.h:85
@ ITEM_MOD_PVP_POWER
Definition: ItemTemplate.h:82
@ ITEM_MOD_ARMOR_PENETRATION_RATING
Definition: ItemTemplate.h:69
@ ITEM_MOD_SPELL_HEALING_DONE
Definition: ItemTemplate.h:66
@ ITEM_MOD_HIT_TAKEN_RATING
Definition: ItemTemplate.h:58
@ ITEM_MOD_ARCANE_RESISTANCE
Definition: ItemTemplate.h:81
@ ITEM_MOD_HASTE_MELEE_RATING
Definition: ItemTemplate.h:53
@ ITEM_MOD_CORRUPTION
Definition: ItemTemplate.h:47
@ ITEM_MOD_MANA_REGENERATION
Definition: ItemTemplate.h:68
@ ITEM_MOD_HIT_RATING
Definition: ItemTemplate.h:56
@ ITEM_MOD_INTELLECT
Definition: ItemTemplate.h:34
@ ITEM_MOD_RESILIENCE_RATING
Definition: ItemTemplate.h:60
@ ITEM_MOD_AGILITY
Definition: ItemTemplate.h:32
@ ITEM_MOD_DODGE_RATING
Definition: ItemTemplate.h:38
@ ITEM_MOD_CRIT_RATING
Definition: ItemTemplate.h:57
@ ITEM_MOD_AGI_STR
Definition: ItemTemplate.h:97
@ ITEM_MOD_CR_UNUSED_12
Definition: ItemTemplate.h:95
@ ITEM_MOD_CR_UNUSED_27
Definition: ItemTemplate.h:91
@ ITEM_MOD_CR_SPEED
Definition: ItemTemplate.h:86
@ ITEM_MOD_SPELL_DAMAGE_DONE
Definition: ItemTemplate.h:67
#define MAX_ITEM_SUBCLASS_REAGENT
Definition: ItemTemplate.h:552
#define MAX_ITEM_SUBCLASS_MISCELLANEOUS
Definition: ItemTemplate.h:682
#define MAX_ITEM_CLASS
Definition: ItemTemplate.h:442
ItemSubclassArmor
Definition: ItemTemplate.h:528
@ ITEM_SUBCLASS_ARMOR_MAIL
Definition: ItemTemplate.h:532
@ ITEM_SUBCLASS_ARMOR_LIBRAM
Definition: ItemTemplate.h:536
@ ITEM_SUBCLASS_ARMOR_CLOTH
Definition: ItemTemplate.h:530
@ ITEM_SUBCLASS_ARMOR_RELIC
Definition: ItemTemplate.h:540
@ ITEM_SUBCLASS_ARMOR_LEATHER
Definition: ItemTemplate.h:531
@ ITEM_SUBCLASS_ARMOR_SHIELD
Definition: ItemTemplate.h:535
@ ITEM_SUBCLASS_ARMOR_SIGIL
Definition: ItemTemplate.h:539
@ ITEM_SUBCLASS_ARMOR_PLATE
Definition: ItemTemplate.h:533
@ ITEM_SUBCLASS_ARMOR_TOTEM
Definition: ItemTemplate.h:538
@ ITEM_SUBCLASS_ARMOR_IDOL
Definition: ItemTemplate.h:537
@ ITEM_SUBCLASS_ARMOR_MISCELLANEOUS
Definition: ItemTemplate.h:529
@ ITEM_SUBCLASS_ARMOR_COSMETIC
Definition: ItemTemplate.h:534
#define MAX_ITEM_SUBCLASS_PERMANENT
Definition: ItemTemplate.h:669
ItemSubclassProjectile
Definition: ItemTemplate.h:555
@ ITEM_SUBCLASS_ARROW
Definition: ItemTemplate.h:558
@ ITEM_SUBCLASS_THROWN
Definition: ItemTemplate.h:560
@ ITEM_SUBCLASS_BULLET
Definition: ItemTemplate.h:559
@ ITEM_SUBCLASS_BOLT
Definition: ItemTemplate.h:557
@ ITEM_SUBCLASS_WAND
Definition: ItemTemplate.h:556
ItemSubclassTradeGoods
Definition: ItemTemplate.h:566
@ ITEM_SUBCLASS_PARTS
Definition: ItemTemplate.h:568
@ ITEM_SUBCLASS_ENCHANTING
Definition: ItemTemplate.h:579
@ ITEM_SUBCLASS_TRADE_GOODS
Definition: ItemTemplate.h:567
@ ITEM_SUBCLASS_HERB
Definition: ItemTemplate.h:576
@ ITEM_SUBCLASS_ENCHANTMENT
Definition: ItemTemplate.h:581
@ ITEM_SUBCLASS_EXPLOSIVES
Definition: ItemTemplate.h:569
@ ITEM_SUBCLASS_TRADE_GOODS_OTHER
Definition: ItemTemplate.h:578
@ ITEM_SUBCLASS_INSCRIPTION
Definition: ItemTemplate.h:583
@ ITEM_SUBCLASS_METAL_STONE
Definition: ItemTemplate.h:574
@ ITEM_SUBCLASS_JEWELCRAFTING
Definition: ItemTemplate.h:571
@ ITEM_SUBCLASS_MATERIAL
Definition: ItemTemplate.h:580
@ ITEM_SUBCLASS_FINISHING_REAGENT
Definition: ItemTemplate.h:586
@ ITEM_SUBCLASS_OPTIONAL_REAGENT
Definition: ItemTemplate.h:585
@ ITEM_SUBCLASS_LEATHER
Definition: ItemTemplate.h:573
@ ITEM_SUBCLASS_CLOTH
Definition: ItemTemplate.h:572
@ ITEM_SUBCLASS_EXPLOSIVES_DEVICES
Definition: ItemTemplate.h:584
@ ITEM_SUBCLASS_DEVICES
Definition: ItemTemplate.h:570
@ ITEM_SUBCLASS_MEAT
Definition: ItemTemplate.h:575
@ ITEM_SUBCLASS_ELEMENTAL
Definition: ItemTemplate.h:577
@ ITEM_SUBCLASS_WEAPON_ENCHANTMENT
Definition: ItemTemplate.h:582
#define MAX_ITEM_SUBCLASS_ARMOR
Definition: ItemTemplate.h:543
#define MAX_ITEM_SUBCLASS_TRADE_GOODS
Definition: ItemTemplate.h:589
ItemFlags4
Definition: ItemTemplate.h:283
@ ITEM_FLAG4_SHOWS_GENERATION_WITH_RANDOM_STATS
Definition: ItemTemplate.h:286
@ ITEM_FLAG4_DISPLAY_ONLY_ON_DEFINED_RACES
Definition: ItemTemplate.h:291
@ ITEM_FLAG4_COSMETIC_ITEM
Definition: ItemTemplate.h:300
@ ITEM_FLAG4_REGULATED_COMMODITY
Definition: ItemTemplate.h:292
@ ITEM_FLAG4_DISALLOW_WHILE_LEVEL_LINKED
Definition: ItemTemplate.h:296
@ ITEM_FLAG4_ACTIVATE_ON_EQUIP_EFFECTS_WHEN_TRANSMOGRIFIED
Definition: ItemTemplate.h:287
@ ITEM_FLAG4_RECRAFTABLE
Definition: ItemTemplate.h:308
@ ITEM_FLAG4_HIDDEN_IN_REWARD_SUMMARIES
Definition: ItemTemplate.h:295
@ ITEM_FLAG4_DONT_REPORT_LOOT_LOG_TO_SELF
Definition: ItemTemplate.h:312
@ ITEM_FLAG4_NOT_RESTORABLE
Definition: ItemTemplate.h:304
@ ITEM_FLAG4_NO_SPELL_EFFECT_TOOLTIP_PREFIXES
Definition: ItemTemplate.h:301
@ ITEM_FLAG4_NPC_ONLY
Definition: ItemTemplate.h:303
@ ITEM_FLAG4_NO_SALVAGE
Definition: ItemTemplate.h:307
@ ITEM_FLAG4_DISPLAY_REAGENT_QUALITY_AS_CRAFTED_QUALITY
Definition: ItemTemplate.h:306
@ ITEM_FLAG4_ALWAYS_SHOW_ITEM_LEVEL_IN_TOOLTIP
Definition: ItemTemplate.h:285
@ ITEM_FLAG4_NOT_MULTICRAFTABLE
Definition: ItemTemplate.h:311
@ ITEM_FLAG4_HANDLE_ON_USE_EFFECT_IMMEDIATELY
Definition: ItemTemplate.h:284
@ ITEM_FLAG4_SCRAPABLE
Definition: ItemTemplate.h:289
@ ITEM_FLAG4_SQUISH_USING_ITEM_LEVEL_AS_PLAYER_LEVEL
Definition: ItemTemplate.h:298
@ ITEM_FLAG4_DISALLOW_ENCHANT
Definition: ItemTemplate.h:297
@ ITEM_FLAG4_CC_TRINKET
Definition: ItemTemplate.h:309
@ ITEM_FLAG4_ALWAYS_SHOW_SELL_PRICE_IN_TOOLTIP
Definition: ItemTemplate.h:299
@ ITEM_FLAG4_BYPASS_REP_REQUIREMENTS_FOR_TRANSMOG
Definition: ItemTemplate.h:290
@ ITEM_FLAG4_IGNORE_COSMETIC_COLLECTION_BEHAVIOR
Definition: ItemTemplate.h:302
@ ITEM_FLAG4_GENERATE_LOOT_SPEC_ITEM
Definition: ItemTemplate.h:294
@ ITEM_FLAG4_DONT_DISPLAY_AS_CRAFTING_REAGENT
Definition: ItemTemplate.h:305
@ ITEM_FLAG4_ENFORCE_TRANSMOG_WITH_CHILD_ITEM
Definition: ItemTemplate.h:288
@ ITEM_FLAG4_CREATE_LOOT_IMMEDIATELY
Definition: ItemTemplate.h:293
@ ITEM_FLAG4_KEEP_THROUGH_FACTION_CHANGE
Definition: ItemTemplate.h:310
ItemSubclassRecipe
Definition: ItemTemplate.h:613
@ ITEM_SUBCLASS_BOOK
Definition: ItemTemplate.h:614
@ ITEM_SUBCLASS_TAILORING_PATTERN
Definition: ItemTemplate.h:616
@ ITEM_SUBCLASS_JEWELCRAFTING_RECIPE
Definition: ItemTemplate.h:624
@ ITEM_SUBCLASS_COOKING_RECIPE
Definition: ItemTemplate.h:619
@ ITEM_SUBCLASS_ALCHEMY_RECIPE
Definition: ItemTemplate.h:620
@ ITEM_SUBCLASS_ENGINEERING_SCHEMATIC
Definition: ItemTemplate.h:617
@ ITEM_SUBCLASS_ENCHANTING_FORMULA
Definition: ItemTemplate.h:622
@ ITEM_SUBCLASS_INSCRIPTION_TECHNIQUE
Definition: ItemTemplate.h:625
@ ITEM_SUBCLASS_LEATHERWORKING_PATTERN
Definition: ItemTemplate.h:615
@ ITEM_SUBCLASS_FISHING_MANUAL
Definition: ItemTemplate.h:623
@ ITEM_SUBCLASS_FIRST_AID_MANUAL
Definition: ItemTemplate.h:621
@ ITEM_SUBCLASS_BLACKSMITHING
Definition: ItemTemplate.h:618
ItemLevelConstants
Definition: ItemTemplate.h:763
@ MIN_ITEM_LEVEL
Definition: ItemTemplate.h:764
@ MAX_ITEM_LEVEL
Definition: ItemTemplate.h:765
#define MAX_ITEM_SUBCLASS_GEM
Definition: ItemTemplate.h:525
DEFINE_ENUM_FLAG(ItemFieldFlags)
#define MAX_ITEM_SUBCLASS_CONTAINER
Definition: ItemTemplate.h:476
SocketColor
Definition: ItemTemplate.h:345
@ SOCKET_COLOR_RELIC_FEL
Definition: ItemTemplate.h:356
@ SOCKET_COLOR_RELIC_WIND
Definition: ItemTemplate.h:362
@ SOCKET_COLOR_RELIC_FIRE
Definition: ItemTemplate.h:359
@ SOCKET_COLOR_TINKER
Definition: ItemTemplate.h:369
@ SOCKET_COLOR_META
Definition: ItemTemplate.h:346
@ SOCKET_COLOR_RELIC_LIFE
Definition: ItemTemplate.h:361
@ SOCKET_COLOR_RELIC_ARCANE
Definition: ItemTemplate.h:357
@ SOCKET_COLOR_RELIC_SHADOW
Definition: ItemTemplate.h:355
@ SOCKET_COLOR_RELIC_FROST
Definition: ItemTemplate.h:358
@ SOCKET_COLOR_PUNCHCARD_YELLOW
Definition: ItemTemplate.h:365
@ SOCKET_COLOR_CYPHER
Definition: ItemTemplate.h:368
@ SOCKET_COLOR_DOMINATION
Definition: ItemTemplate.h:367
@ SOCKET_COLOR_RELIC_IRON
Definition: ItemTemplate.h:353
@ SOCKET_COLOR_YELLOW
Definition: ItemTemplate.h:348
@ SOCKET_COLOR_PRIMORDIAL
Definition: ItemTemplate.h:370
@ SOCKET_COLOR_RED
Definition: ItemTemplate.h:347
@ SOCKET_COLOR_PRISMATIC
Definition: ItemTemplate.h:352
@ SOCKET_COLOR_RELIC_WATER
Definition: ItemTemplate.h:360
@ SOCKET_COLOR_PUNCHCARD_BLUE
Definition: ItemTemplate.h:366
@ SOCKET_COLOR_RELIC_HOLY
Definition: ItemTemplate.h:363
@ SOCKET_COLOR_BLUE
Definition: ItemTemplate.h:349
@ SOCKET_COLOR_PUNCHCARD_RED
Definition: ItemTemplate.h:364
@ SOCKET_COLOR_HYDRAULIC
Definition: ItemTemplate.h:350
@ SOCKET_COLOR_RELIC_BLOOD
Definition: ItemTemplate.h:354
@ SOCKET_COLOR_COGWHEEL
Definition: ItemTemplate.h:351
ItemSubclassGem
Definition: ItemTemplate.h:510
@ ITEM_SUBCLASS_GEM_STRENGTH
Definition: ItemTemplate.h:513
@ ITEM_SUBCLASS_GEM_ARTIFACT_RELIC
Definition: ItemTemplate.h:522
@ ITEM_SUBCLASS_GEM_MASTERY
Definition: ItemTemplate.h:517
@ ITEM_SUBCLASS_GEM_SPIRIT
Definition: ItemTemplate.h:515
@ ITEM_SUBCLASS_GEM_HASTE
Definition: ItemTemplate.h:518
@ ITEM_SUBCLASS_GEM_MULTIPLE_STATS
Definition: ItemTemplate.h:521
@ ITEM_SUBCLASS_GEM_INTELLECT
Definition: ItemTemplate.h:511
@ ITEM_SUBCLASS_GEM_CRITICAL_STRIKE
Definition: ItemTemplate.h:516
@ ITEM_SUBCLASS_GEM_VERSATILITY
Definition: ItemTemplate.h:519
@ ITEM_SUBCLASS_GEM_OTHER
Definition: ItemTemplate.h:520
@ ITEM_SUBCLASS_GEM_STAMINA
Definition: ItemTemplate.h:514
@ ITEM_SUBCLASS_GEM_AGILITY
Definition: ItemTemplate.h:512
ItemSubclassMoney
Definition: ItemTemplate.h:631
@ ITEM_SUBCLASS_MONEY
Definition: ItemTemplate.h:632
ItemSubclassKey
Definition: ItemTemplate.h:657
@ ITEM_SUBCLASS_KEY
Definition: ItemTemplate.h:658
@ ITEM_SUBCLASS_LOCKPICK
Definition: ItemTemplate.h:659
ItemBondingType
Definition: ItemTemplate.h:115
@ BIND_QUEST
Definition: ItemTemplate.h:120
@ BIND_ON_USE
Definition: ItemTemplate.h:119
@ BIND_ON_EQUIP
Definition: ItemTemplate.h:118
@ BIND_NONE
Definition: ItemTemplate.h:116
@ BIND_ON_ACQUIRE
Definition: ItemTemplate.h:117
ItemSubclassReagent
Definition: ItemTemplate.h:546
@ ITEM_SUBCLASS_KEYSTONE
Definition: ItemTemplate.h:548
@ ITEM_SUBCLASS_REAGENT
Definition: ItemTemplate.h:547
@ ITEM_SUBCLASS_CONTEXT_TOKEN
Definition: ItemTemplate.h:549
#define MAX_ITEM_SUBCLASS_CONSUMABLE
Definition: ItemTemplate.h:458
ItemSubclassPermanent
Definition: ItemTemplate.h:665
@ ITEM_SUBCLASS_PERMANENT
Definition: ItemTemplate.h:666
#define MAX_ITEM_SUBCLASS_QUIVER
Definition: ItemTemplate.h:645
#define MAX_ITEM_SUBCLASS_BATTLE_PET
Definition: ItemTemplate.h:707
#define MAX_ITEM_SUBCLASS_PROJECTILE
Definition: ItemTemplate.h:563
#define MAX_ITEM_SUBCLASS_QUEST
Definition: ItemTemplate.h:654
#define MAX_ITEM_SUBCLASS_ITEM_ENHANCEMENT
Definition: ItemTemplate.h:610
#define MAX_ITEM_SUBCLASS_WEAPON
Definition: ItemTemplate.h:507
int32 const SocketColorToGemTypeMask[26]
#define MAX_ITEM_SUBCLASS_PROFESSION
Definition: ItemTemplate.h:734
ItemSubclassBattlePet
Definition: ItemTemplate.h:703
@ ITEM_SUBCLASS_BATTLE_PET
Definition: ItemTemplate.h:704
ItemSubclassJunk
Definition: ItemTemplate.h:672
@ ITEM_SUBCLASS_MISCELLANEOUS_JUNK
Definition: ItemTemplate.h:673
@ ITEM_SUBCLASS_MISCELLANEOUS_HOLIDAY
Definition: ItemTemplate.h:676
@ ITEM_SUBCLASS_MISCELLANEOUS_MOUNT
Definition: ItemTemplate.h:678
@ ITEM_SUBCLASS_MISCELLANEOUS_REAGENT
Definition: ItemTemplate.h:674
@ ITEM_SUBCLASS_MISCELLANEOUS_COMPANION_PET
Definition: ItemTemplate.h:675
@ ITEM_SUBCLASS_MISCELLANEOUS_MOUNT_EQUIPMENT
Definition: ItemTemplate.h:679
@ ITEM_SUBCLASS_MISCELLANEOUS_OTHER
Definition: ItemTemplate.h:677
ItemSubclassConsumable
Definition: ItemTemplate.h:445
@ ITEM_SUBCLASS_VANTUS_RUNE
Definition: ItemTemplate.h:455
@ ITEM_SUBCLASS_CONSUMABLE_OTHER
Definition: ItemTemplate.h:454
@ ITEM_SUBCLASS_FOOD_DRINK
Definition: ItemTemplate.h:451
@ ITEM_SUBCLASS_SCROLL
Definition: ItemTemplate.h:450
@ ITEM_SUBCLASS_FLASK
Definition: ItemTemplate.h:449
@ ITEM_SUBCLASS_POTION
Definition: ItemTemplate.h:447
@ ITEM_SUBCLASS_CONSUMABLE
Definition: ItemTemplate.h:446
@ ITEM_SUBCLASS_ELIXIR
Definition: ItemTemplate.h:448
@ ITEM_SUBCLASS_BANDAGE
Definition: ItemTemplate.h:453
@ ITEM_SUBCLASS_ITEM_ENHANCEMENT
Definition: ItemTemplate.h:452
ItemSubclassQuest
Definition: ItemTemplate.h:648
@ ITEM_SUBCLASS_QUEST
Definition: ItemTemplate.h:649
@ ITEM_SUBCLASS_QUEST_UNK8
Definition: ItemTemplate.h:651
@ ITEM_SUBCLASS_QUEST_UNK3
Definition: ItemTemplate.h:650
const uint32 MaxItemSubclassValues[MAX_ITEM_CLASS]
Definition: ItemTemplate.h:736
ItemFieldFlags2
Definition: ItemTemplate.h:168
@ ITEM_FIELD_FLAG2_EQUIPPED
Definition: ItemTemplate.h:169
#define MAX_ITEM_SUBCLASS_GLYPH
Definition: ItemTemplate.h:700
ItemFlagsCustom
Definition: ItemTemplate.h:316
@ ITEM_FLAGS_CU_FOLLOW_LOOT_RULES
Definition: ItemTemplate.h:319
@ ITEM_FLAGS_CU_IGNORE_QUEST_STATUS
Definition: ItemTemplate.h:318
@ ITEM_FLAGS_CU_UNUSED
Definition: ItemTemplate.h:317
InventoryType
Definition: ItemTemplate.h:378
@ INVTYPE_BODY
Definition: ItemTemplate.h:383
@ INVTYPE_FINGER
Definition: ItemTemplate.h:390
@ INVTYPE_HEAD
Definition: ItemTemplate.h:380
@ INVTYPE_CLOAK
Definition: ItemTemplate.h:395
@ INVTYPE_EQUIPABLE_SPELL_UTILITY
Definition: ItemTemplate.h:411
@ INVTYPE_ROBE
Definition: ItemTemplate.h:399
@ INVTYPE_HOLDABLE
Definition: ItemTemplate.h:402
@ INVTYPE_TRINKET
Definition: ItemTemplate.h:391
@ INVTYPE_RELIC
Definition: ItemTemplate.h:407
@ INVTYPE_PROFESSION_TOOL
Definition: ItemTemplate.h:408
@ INVTYPE_EQUIPABLE_SPELL_OFFENSIVE
Definition: ItemTemplate.h:410
@ INVTYPE_RANGED
Definition: ItemTemplate.h:394
@ INVTYPE_THROWN
Definition: ItemTemplate.h:404
@ INVTYPE_WAIST
Definition: ItemTemplate.h:385
@ INVTYPE_RANGEDRIGHT
Definition: ItemTemplate.h:405
@ INVTYPE_WRISTS
Definition: ItemTemplate.h:388
@ INVTYPE_WEAPON
Definition: ItemTemplate.h:392
@ INVTYPE_EQUIPABLE_SPELL_DEFENSIVE
Definition: ItemTemplate.h:412
@ INVTYPE_WEAPONMAINHAND
Definition: ItemTemplate.h:400
@ INVTYPE_EQUIPABLE_SPELL_MOBILITY
Definition: ItemTemplate.h:413
@ INVTYPE_WEAPONOFFHAND
Definition: ItemTemplate.h:401
@ INVTYPE_2HWEAPON
Definition: ItemTemplate.h:396
@ INVTYPE_BAG
Definition: ItemTemplate.h:397
@ INVTYPE_NECK
Definition: ItemTemplate.h:381
@ INVTYPE_SHOULDERS
Definition: ItemTemplate.h:382
@ INVTYPE_FEET
Definition: ItemTemplate.h:387
@ INVTYPE_NON_EQUIP
Definition: ItemTemplate.h:379
@ INVTYPE_AMMO
Definition: ItemTemplate.h:403
@ INVTYPE_QUIVER
Definition: ItemTemplate.h:406
@ INVTYPE_SHIELD
Definition: ItemTemplate.h:393
@ INVTYPE_TABARD
Definition: ItemTemplate.h:398
@ INVTYPE_LEGS
Definition: ItemTemplate.h:386
@ INVTYPE_CHEST
Definition: ItemTemplate.h:384
@ INVTYPE_HANDS
Definition: ItemTemplate.h:389
@ INVTYPE_PROFESSION_GEAR
Definition: ItemTemplate.h:409
HolidayIds
TC_GAME_API bool GetName(uint32 accountId, std::string &name)
uint8 SubclassID
uint8 ClassID
uint32 VendorStackCount
uint32 DurationInInventory
uint16 RequiredSkillRank
uint16 SocketMatchEnchantmentId
std::array< int32, MAX_ITEM_PROTO_FLAGS > Flags
std::array< int32, MAX_ITEM_PROTO_STATS > StatPercentEditor
std::array< uint16, MAX_ITEM_PROTO_ZONES > ZoneBound
int32 PlayerLevelToItemLevelCurveID
Trinity::RaceMask< int64 > AllowableRace
uint16 RequiredHoliday
uint32 RequiredAbility
uint16 TotemCategoryID
std::array< float, MAX_ITEM_PROTO_STATS > StatPercentageOfSocket
std::array< int8, MAX_ITEM_PROTO_STATS > StatModifierBonusStat
std::array< uint8, MAX_ITEM_PROTO_SOCKETS > SocketType
bool IsVellum() const
Definition: ItemTemplate.h:855
uint32 GetRequiredSkillRank() const
Definition: ItemTemplate.h:792
uint32 GetBaseItemLevel() const
Definition: ItemTemplate.h:789
uint32 GetArea(uint32 index) const
Definition: ItemTemplate.h:812
uint32 GetQuality() const
Definition: ItemTemplate.h:779
HolidayIds GetHolidayID() const
Definition: ItemTemplate.h:822
float GetQualityModifier() const
Definition: ItemTemplate.h:819
int32 GetStatModifierBonusStat(uint32 index) const
Definition: ItemTemplate.h:798
bool IsPotion() const
Definition: ItemTemplate.h:854
uint32 GetDuration() const
Definition: ItemTemplate.h:820
uint32 GetBuyCount() const
Definition: ItemTemplate.h:783
int32 GetAllowableClass() const
Definition: ItemTemplate.h:787
uint32 GetContainerSlots() const
Definition: ItemTemplate.h:797
float GetPriceRandomValue() const
Definition: ItemTemplate.h:781
uint32 GetPageText() const
Definition: ItemTemplate.h:808
uint32 GetGemProperties() const
Definition: ItemTemplate.h:818
uint32 GetId() const
Definition: ItemTemplate.h:776
uint32 GetMaxStackSize() const
Definition: ItemTemplate.h:847
InventoryType GetInventoryType() const
Definition: ItemTemplate.h:786
bool IsRangedWeapon() const
Definition: ItemTemplate.h:863
bool IsCurrencyToken() const
Definition: ItemTemplate.h:845
SocketColor GetSocketColor(uint32 index) const
Definition: ItemTemplate.h:816
float GetDmgVariance() const
Definition: ItemTemplate.h:823
uint32 GetBuyPrice() const
Definition: ItemTemplate.h:784
bool HasFlag(ItemFlags4 flag) const
Definition: ItemTemplate.h:874
ItemBondingType GetBonding() const
Definition: ItemTemplate.h:806
uint32 GetItemSet() const
Definition: ItemTemplate.h:811
float GetStatPercentageOfSocket(uint32 index) const
Definition: ItemTemplate.h:800
uint32 GetScalingStatContentTuning() const
Definition: ItemTemplate.h:801
bool HasFlag(ItemFlags3 flag) const
Definition: ItemTemplate.h:873
uint32 GetStartQuest() const
Definition: ItemTemplate.h:809
uint32 MinMoneyLoot
Definition: ItemTemplate.h:833
uint8 GetArtifactID() const
Definition: ItemTemplate.h:824
uint32 MaxMoneyLoot
Definition: ItemTemplate.h:834
uint32 GetMap() const
Definition: ItemTemplate.h:813
float GetRangedModRange() const
Definition: ItemTemplate.h:805
uint32 GetRequiredReputationFaction() const
Definition: ItemTemplate.h:794
ItemEntry const * BasicData
Definition: ItemTemplate.h:773
uint32 FoodType
Definition: ItemTemplate.h:832
std::vector< ItemEffectEntry const * > Effects
Definition: ItemTemplate.h:828
bool IsCraftingReagent() const
Definition: ItemTemplate.h:857
bool IsConjuredConsumable() const
Definition: ItemTemplate.h:856
uint32 GetRequiredReputationRank() const
Definition: ItemTemplate.h:795
ItemSparseEntry const * ExtendedData
Definition: ItemTemplate.h:774
uint32 GetItemLimitCategory() const
Definition: ItemTemplate.h:821
int32 QuestLogItemId
Definition: ItemTemplate.h:840
int32 GetBaseRequiredLevel() const
Definition: ItemTemplate.h:790
uint32 RandomBonusListTemplateId
Definition: ItemTemplate.h:837
bool HasFlag(ItemFlags flag) const
Definition: ItemTemplate.h:871
uint32 GetSubClass() const
Definition: ItemTemplate.h:778
uint32 GetSellPrice() const
Definition: ItemTemplate.h:785
bool HasFlag(ItemFlagsCustom customFlag) const
Definition: ItemTemplate.h:875
uint32 ScriptId
Definition: ItemTemplate.h:831
uint32 MaxDurability
Definition: ItemTemplate.h:827
uint32 GetOtherFactionItemId() const
Definition: ItemTemplate.h:780
bool IsArmor() const
Definition: ItemTemplate.h:861
Trinity::RaceMask< int64 > GetAllowableRace() const
Definition: ItemTemplate.h:788
bool HasFlag(ItemFlags2 flag) const
Definition: ItemTemplate.h:872
bool IsWeapon() const
Definition: ItemTemplate.h:860
uint32 GetRequiredSpell() const
Definition: ItemTemplate.h:793
float SpellPPMRate
Definition: ItemTemplate.h:836
uint8 GetRequiredExpansion() const
Definition: ItemTemplate.h:825
uint32 GetTotemCategory() const
Definition: ItemTemplate.h:815
uint32 ItemSpecClassMask
Definition: ItemTemplate.h:839
uint32 GetLockID() const
Definition: ItemTemplate.h:810
int32 GetStatPercentEditor(uint32 index) const
Definition: ItemTemplate.h:799
uint32 GetSocketBonus() const
Definition: ItemTemplate.h:817
uint32 GetClass() const
Definition: ItemTemplate.h:777
uint32 GetRequiredSkill() const
Definition: ItemTemplate.h:791
uint32 GetDamageType() const
Definition: ItemTemplate.h:803
float GetPriceVariance() const
Definition: ItemTemplate.h:782
uint32 GetMaxCount() const
Definition: ItemTemplate.h:796
uint32 GetPlayerLevelToItemLevelCurveId() const
Definition: ItemTemplate.h:802
uint32 FlagsCu
Definition: ItemTemplate.h:835
uint32 GetDelay() const
Definition: ItemTemplate.h:804
uint32 GetBagFamily() const
Definition: ItemTemplate.h:814