TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ItemTemplate.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
3  * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License as published by the
7  * Free Software Foundation; either version 2 of the License, or (at your
8  * option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13  * more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef _ITEMPROTOTYPE_H
20 #define _ITEMPROTOTYPE_H
21 
22 #include "DB2Structure.h"
23 #include "SharedDefines.h"
24 
26 {
97 };
98 
100 {
101  ITEM_SPELLTRIGGER_ON_USE = 0, // use after equip cooldown
105  /*
106  * ItemSpelltriggerType 5 might have changed on 2.4.3/3.0.3: Such auras
107  * will be applied on item pickup and removed on item loss - maybe on the
108  * other hand the item is destroyed if the aura is removed ("removed on
109  * death" of spell 57348 makes me think so)
110  */
111  ITEM_SPELLTRIGGER_ON_NO_DELAY_USE = 5, // no equip cooldown
112  ITEM_SPELLTRIGGER_LEARN_SPELL_ID = 6 // used in item_template.spell_2 with spell_id with SPELL_GENERIC_LEARN in spell_1
113 };
114 
115 #define MAX_ITEM_SPELLTRIGGER 7
116 
118 {
119  NO_BIND = 0,
124  BIND_QUEST_ITEM1 = 5 // not used in game
125 };
126 
127 #define MAX_BIND_TYPE 6
128 
129 /* /// @todo: Requiring actual cases in which using (an) item isn't allowed while shapeshifted. Else, this flag would need an implementation.
130  ITEM_FLAG_USABLE_WHEN_SHAPESHIFTED = 0x00800000, // Item can be used in shapeshift forms */
131 
132 // ITEM_FIELD_FLAGS
134 {
135  ITEM_FIELD_FLAG_SOULBOUND = 0x00000001, // Item is soulbound and cannot be traded <<--
136  ITEM_FIELD_FLAG_TRANSLATED = 0x00000002, // Item text will not read as garbage when player does not know the language
137  ITEM_FIELD_FLAG_UNLOCKED = 0x00000004, // Item had lock but can be opened now
138  ITEM_FIELD_FLAG_WRAPPED = 0x00000008, // Item is wrapped and contains another item
139  ITEM_FIELD_FLAG_UNK2 = 0x00000010,
140  ITEM_FIELD_FLAG_UNK3 = 0x00000020,
141  ITEM_FIELD_FLAG_UNK4 = 0x00000040,
142  ITEM_FIELD_FLAG_UNK5 = 0x00000080,
143  ITEM_FIELD_FLAG_BOP_TRADEABLE = 0x00000100, // Allows trading soulbound items
144  ITEM_FIELD_FLAG_READABLE = 0x00000200, // Opens text page when right clicked
145  ITEM_FIELD_FLAG_UNK6 = 0x00000400,
146  ITEM_FIELD_FLAG_UNK7 = 0x00000800,
147  ITEM_FIELD_FLAG_REFUNDABLE = 0x00001000, // Item can be returned to vendor for its original cost (extended cost)
148  ITEM_FIELD_FLAG_UNK8 = 0x00002000,
149  ITEM_FIELD_FLAG_UNK9 = 0x00004000,
150  ITEM_FIELD_FLAG_UNK10 = 0x00008000,
151  ITEM_FIELD_FLAG_UNK11 = 0x00010000,
152  ITEM_FIELD_FLAG_UNK12 = 0x00020000,
153  ITEM_FIELD_FLAG_UNK13 = 0x00040000,
154  ITEM_FIELD_FLAG_UNK14 = 0x00080000,
155  ITEM_FIELD_FLAG_UNK15 = 0x00100000,
156  ITEM_FIELD_FLAG_UNK16 = 0x00200000,
157  ITEM_FIELD_FLAG_UNK17 = 0x00400000,
158  ITEM_FIELD_FLAG_UNK18 = 0x00800000,
159  ITEM_FIELD_FLAG_UNK19 = 0x01000000,
160  ITEM_FIELD_FLAG_UNK20 = 0x02000000,
161  ITEM_FIELD_FLAG_UNK21 = 0x04000000,
162  ITEM_FIELD_FLAG_UNK22 = 0x08000000,
163  ITEM_FIELD_FLAG_UNK23 = 0x10000000,
164  ITEM_FIELD_FLAG_UNK24 = 0x20000000,
165  ITEM_FIELD_FLAG_UNK25 = 0x40000000,
166  ITEM_FIELD_FLAG_UNK26 = 0x80000000,
167 
169 };
170 
172 {
173  ITEM_FLAG_UNK1 = 0x00000001,
174  ITEM_FLAG_CONJURED = 0x00000002, // Conjured item
175  ITEM_FLAG_OPENABLE = 0x00000004, // Item can be right clicked to open for loot
176  ITEM_FLAG_HEROIC = 0x00000008, // Makes green "Heroic" text appear on item
177  ITEM_FLAG_DEPRECATED = 0x00000010, // Cannot equip or use
178  ITEM_FLAG_INDESTRUCTIBLE = 0x00000020, // Item can not be destroyed, except by using spell (item can be reagent for spell)
179  ITEM_FLAG_UNK2 = 0x00000040,
180  ITEM_FLAG_NO_EQUIP_COOLDOWN = 0x00000080, // No default 30 seconds cooldown when equipped
181  ITEM_FLAG_UNK3 = 0x00000100,
182  ITEM_FLAG_WRAPPER = 0x00000200, // Item can wrap other items
183  ITEM_FLAG_UNK4 = 0x00000400,
184  ITEM_FLAG_PARTY_LOOT = 0x00000800, // Looting this item does not remove it from available loot
185  ITEM_FLAG_REFUNDABLE = 0x00001000, // Item can be returned to vendor for its original cost (extended cost)
186  ITEM_FLAG_CHARTER = 0x00002000, // Item is guild or arena charter
187  ITEM_FLAG_UNK5 = 0x00004000, // Only readable items have this (but not all)
188  ITEM_FLAG_UNK6 = 0x00008000,
189  ITEM_FLAG_UNK7 = 0x00010000,
190  ITEM_FLAG_UNK8 = 0x00020000,
191  ITEM_FLAG_PROSPECTABLE = 0x00040000, // Item can be prospected
192  ITEM_FLAG_UNIQUE_EQUIPPED = 0x00080000, // You can only equip one of these
193  ITEM_FLAG_UNK9 = 0x00100000,
194  ITEM_FLAG_USEABLE_IN_ARENA = 0x00200000, // Item can be used during arena match
195  ITEM_FLAG_THROWABLE = 0x00400000, // Some Thrown weapons have it (and only Thrown) but not all
196  ITEM_FLAG_USABLE_WHEN_SHAPESHIFTED = 0x00800000, // Item can be used in shapeshift forms
197  ITEM_FLAG_UNK10 = 0x01000000,
198  ITEM_FLAG_SMART_LOOT = 0x02000000, // Profession recipes: can only be looted if you meet requirements and don't already know it
199  ITEM_FLAG_NOT_USEABLE_IN_ARENA = 0x04000000, // Item cannot be used in arena
200  ITEM_FLAG_BIND_TO_ACCOUNT = 0x08000000, // Item binds to account and can be sent only to your own characters
201  ITEM_FLAG_TRIGGERED_CAST = 0x10000000, // Spell is cast with triggered flag
202  ITEM_FLAG_MILLABLE = 0x20000000, // Item can be milled
203  ITEM_FLAG_UNK11 = 0x40000000,
204  ITEM_FLAG_BOP_TRADEABLE = 0x80000000 // bound item that can be traded
205 };
206 
208 {
209  ITEM_FLAG2_HORDE_ONLY = 0x00000001,
211  ITEM_FLAG2_EXT_COST_REQUIRES_GOLD = 0x00000004, // when item uses extended cost, gold is also required
212  ITEM_FLAG2_UNK1 = 0x00000008,
213  ITEM_FLAG2_UNK2 = 0x00000010,
214  ITEM_FLAG2_UNK3 = 0x00000020,
215  ITEM_FLAG2_UNK4 = 0x00000040,
216  ITEM_FLAG2_UNK5 = 0x00000080,
219  ITEM_FLAG2_UNK6 = 0x00000400,
220  ITEM_FLAG2_UNK7 = 0x00000800,
221  ITEM_FLAG2_UNK8 = 0x00001000,
222  ITEM_FLAG2_UNK9 = 0x00002000,
224  ITEM_FLAG2_UNK10 = 0x00008000,
225  ITEM_FLAG2_UNK11 = 0x00010000,
227  ITEM_FLAG2_UNK12 = 0x00040000,
228  ITEM_FLAG2_UNK13 = 0x00080000,
229  ITEM_FLAG2_UNK14 = 0x00100000,
233  ITEM_FLAG2_UNK15 = 0x01000000,
234  ITEM_FLAG2_UNK16 = 0x02000000,
235  ITEM_FLAG2_UNK17 = 0x04000000,
236  ITEM_FLAG2_UNK18 = 0x08000000,
237  ITEM_FLAG2_UNK19 = 0x10000000,
238  ITEM_FLAG2_UNK20 = 0x20000000,
239  ITEM_FLAG2_UNK21 = 0x40000000,
241 };
242 
244 {
245  ITEM_FLAG3_UNK1 = 0x00000001,
246  ITEM_FLAG3_UNK2 = 0x00000002,
247  ITEM_FLAG3_UNK3 = 0x00000004,
248  ITEM_FLAG3_UNK4 = 0x00000008,
249  ITEM_FLAG3_UNK5 = 0x00000010,
250  ITEM_FLAG3_UNK6 = 0x00000020,
251  ITEM_FLAG3_UNK7 = 0x00000040,
252  ITEM_FLAG3_IGNORE_ITEM_LEVEL_DELTAS = 0x00000080, // Ignore item level adjustments from PLAYER_FIELD_ITEM_LEVEL_DELTA
254  ITEM_FLAG3_HEIRLOOM_QUALITY = 0x00000200, // Item appears as having heirloom quality ingame regardless of its real quality (does not affect stat calculation)
255  ITEM_FLAG3_UNK8 = 0x00000400,
256  ITEM_FLAG3_UNK9 = 0x00000800,
257  ITEM_FLAG3_DOESNT_APPEAR_IN_GUILD_NEWS = 0x00001000, // Item is not included in the guild news panel
258  ITEM_FLAG3_UNK10 = 0x00002000,
259  ITEM_FLAG3_UNK11 = 0x00004000,
260  ITEM_FLAG3_UNK12 = 0x00008000,
261  ITEM_FLAG3_UNK13 = 0x00010000,
262  ITEM_FLAG3_UNK14 = 0x00020000,
263  ITEM_FLAG3_UNK15 = 0x00040000
264 };
265 
267 {
268  ITEM_FLAGS_CU_DURATION_REAL_TIME = 0x0001, // Item duration will tick even if player is offline
269  ITEM_FLAGS_CU_IGNORE_QUEST_STATUS = 0x0002, // No quest status will be checked when this item drops
270  ITEM_FLAGS_CU_FOLLOW_LOOT_RULES = 0x0004 // Item will always follow group/master/need before greed looting rules
271 };
272 
274 {
276  // ...
278  // ...
280 };
281 
283 {
284  // ...
286  // ...
287 };
288 
290 {
294 };
295 
297 {
298  BAG_FAMILY_MASK_NONE = 0x00000000,
304  BAG_FAMILY_MASK_HERBS = 0x00000020,
307  BAG_FAMILY_MASK_KEYS = 0x00000100,
308  BAG_FAMILY_MASK_GEMS = 0x00000200,
316 };
317 
319 {
324  SOCKET_COLOR_HYDRAULIC = 16, // not used
326 };
327 
328 #define SOCKET_COLOR_ALL (SOCKET_COLOR_META | SOCKET_COLOR_RED | SOCKET_COLOR_YELLOW | SOCKET_COLOR_BLUE | SOCKET_COLOR_COGWHEEL)
329 
331 {
361 };
362 
363 #define MAX_INVTYPE 29
364 
366 {
375  ITEM_CLASS_GENERIC = 8, // OBSOLETE
377  ITEM_CLASS_MONEY = 10, // OBSOLETE
381  ITEM_CLASS_PERMANENT = 14, // OBSOLETE
384 };
385 
386 #define MAX_ITEM_CLASS 17
387 
389 {
399 };
400 
401 #define MAX_ITEM_SUBCLASS_CONSUMABLE 9
402 
404 {
416 };
417 
418 #define MAX_ITEM_SUBCLASS_CONTAINER 11
419 
421 {
422  ITEM_SUBCLASS_WEAPON_AXE = 0, // One-Handed Axes
423  ITEM_SUBCLASS_WEAPON_AXE2 = 1, // Two-Handed Axes
426  ITEM_SUBCLASS_WEAPON_MACE = 4, // One-Handed Maces
427  ITEM_SUBCLASS_WEAPON_MACE2 = 5, // Two-Handed Maces
429  ITEM_SUBCLASS_WEAPON_SWORD = 7, // One-Handed Swords
430  ITEM_SUBCLASS_WEAPON_SWORD2 = 8, // Two-Handed Swords
433  ITEM_SUBCLASS_WEAPON_EXOTIC = 11, // One-Handed Exotics
434  ITEM_SUBCLASS_WEAPON_EXOTIC2 = 12, // Two-Handed Exotics
443 };
444 
445 #define ITEM_SUBCLASS_MASK_WEAPON_RANGED (\
446  (1 << ITEM_SUBCLASS_WEAPON_BOW) | (1 << ITEM_SUBCLASS_WEAPON_GUN) |\
447  (1 << ITEM_SUBCLASS_WEAPON_CROSSBOW))
448 
449 #define MAX_ITEM_SUBCLASS_WEAPON 21
450 
452 {
464 };
465 
466 #define MAX_ITEM_SUBCLASS_GEM 11
467 
469 {
482 };
483 
484 #define MAX_ITEM_SUBCLASS_ARMOR 12
485 
487 {
489 };
490 
491 #define MAX_ITEM_SUBCLASS_REAGENT 1
492 
494 {
495  ITEM_SUBCLASS_WAND = 0, // OBSOLETE
496  ITEM_SUBCLASS_BOLT = 1, // OBSOLETE
499  ITEM_SUBCLASS_THROWN = 4 // OBSOLETE
500 };
501 
502 #define MAX_ITEM_SUBCLASS_PROJECTILE 5
503 
505 {
521 };
522 
523 #define MAX_ITEM_SUBCLASS_TRADE_GOODS 15
524 
526 {
527  ITEM_SUBCLASS_GENERIC = 0 // OBSOLETE
528 };
529 
530 #define MAX_ITEM_SUBCLASS_GENERIC 1
531 
533 {
546 };
547 
548 #define MAX_ITEM_SUBCLASS_RECIPE 12
549 
551 {
552  ITEM_SUBCLASS_MONEY = 0, // OBSOLETE
553  ITEM_SUBCLASS_MONEY_UNK_7 = 7, // OBSOLETE, 1 item (41749)
554 };
555 
556 #define MAX_ITEM_SUBCLASS_MONEY 8
557 
559 {
560  ITEM_SUBCLASS_QUIVER0 = 0, // OBSOLETE
561  ITEM_SUBCLASS_QUIVER1 = 1, // OBSOLETE
564 };
565 
566 #define MAX_ITEM_SUBCLASS_QUIVER 4
567 
569 {
571  ITEM_SUBCLASS_QUEST_UNK3 = 3, // 1 item (33604)
572  ITEM_SUBCLASS_QUEST_UNK8 = 8, // 2 items (37445, 49700)
573 };
574 
575 #define MAX_ITEM_SUBCLASS_QUEST 9
576 
578 {
581 };
582 
583 #define MAX_ITEM_SUBCLASS_KEY 2
584 
586 {
588 };
589 
590 #define MAX_ITEM_SUBCLASS_PERMANENT 1
591 
593 {
600  ITEM_SUBCLASS_JUNK_UNK12 = 12, // 1 item (37677)
601 };
602 
603 #define MAX_ITEM_SUBCLASS_JUNK 13
604 
606 {
617 };
618 
619 #define MAX_ITEM_SUBCLASS_GLYPH 12
620 
622 {
640 };
641 
642 #define MIN_ITEM_LEVEL 1
643 #define MAX_ITEM_LEVEL 1000
644 
645 class Player;
646 
648 {
651 
652  uint32 GetId() const { return BasicData->ID; }
653  uint32 GetClass() const { return BasicData->Class; }
654  uint32 GetSubClass() const { return BasicData->SubClass; }
655  uint32 GetQuality() const { return ExtendedData->Quality; }
656  uint32 GetFlags() const { return ExtendedData->Flags[0]; }
657  uint32 GetFlags2() const { return ExtendedData->Flags[1]; }
658  uint32 GetFlags3() const { return ExtendedData->Flags[2]; }
659  float GetUnk1() const { return ExtendedData->Unk1; }
660  float GetUnk2() const { return ExtendedData->Unk2; }
661  uint32 GetBuyCount() const { return std::max(ExtendedData->BuyCount, 1u); }
662  uint32 GetBuyPrice() const { return ExtendedData->BuyPrice; }
663  uint32 GetSellPrice() const { return ExtendedData->SellPrice; }
664  InventoryType GetInventoryType() const { return InventoryType(ExtendedData->InventoryType); }
665  int32 GetAllowableClass() const { return ExtendedData->AllowableClass; }
666  int32 GetAllowableRace() const { return ExtendedData->AllowableRace; }
667  uint32 GetBaseItemLevel() const { return ExtendedData->ItemLevel; }
668  int32 GetBaseRequiredLevel() const { return ExtendedData->RequiredLevel; }
669  uint32 GetRequiredSkill() const { return ExtendedData->RequiredSkill; }
670  uint32 GetRequiredSkillRank() const { return ExtendedData->RequiredSkillRank; }
671  uint32 GetRequiredSpell() const { return ExtendedData->RequiredSpell; }
673  uint32 GetRequiredReputationRank() const { return ExtendedData->RequiredReputationRank; }
674  uint32 GetMaxCount() const { return ExtendedData->MaxCount; }
675  uint32 GetContainerSlots() const { return ExtendedData->ContainerSlots; }
676  int32 GetItemStatType(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->ItemStatType[index]; }
677  int32 GetItemStatValue(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->ItemStatValue[index]; }
678  int32 GetItemStatAllocation(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->ItemStatAllocation[index]; }
679  float GetItemStatSocketCostMultiplier(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->ItemStatSocketCostMultiplier[index]; }
681  uint32 GetDamageType() const { return ExtendedData->DamageType; }
682  uint32 GetDelay() const { return ExtendedData->Delay; }
683  ItemBondingType GetBonding() const { return ItemBondingType(ExtendedData->Bonding); }
684  char const* GetName(LocaleConstant locale) const;
685  uint32 GetPageText() const { return ExtendedData->PageText; }
686  uint32 GetStartQuest() const { return ExtendedData->StartQuest; }
687  uint32 GetLockID() const { return ExtendedData->LockID; }
688  uint32 GetRandomProperty() const { return ExtendedData->RandomProperty; }
689  uint32 GetRandomSuffix() const { return ExtendedData->RandomSuffix; }
690  uint32 GetItemSet() const { return ExtendedData->ItemSet; }
691  uint32 GetArea() const { return ExtendedData->Area; }
692  uint32 GetMap() const { return ExtendedData->Map; }
693  uint32 GetBagFamily() const { return ExtendedData->BagFamily; }
694  uint32 GetTotemCategory() const { return ExtendedData->TotemCategory; }
695  SocketColor GetSocketColor(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_SOCKETS); return SocketColor(ExtendedData->SocketColor[index]); }
696  uint32 GetSocketBonus() const { return ExtendedData->SocketBonus; }
697  uint32 GetGemProperties() const { return ExtendedData->GemProperties; }
698  float GetArmorDamageModifier() const { return ExtendedData->ArmorDamageModifier; }
699  uint32 GetDuration() const { return ExtendedData->Duration; }
700  uint32 GetItemLimitCategory() const { return ExtendedData->ItemLimitCategory; }
701  HolidayIds GetHolidayID() const { return HolidayIds(ExtendedData->HolidayID); }
702  float GetStatScalingFactor() const { return ExtendedData->StatScalingFactor; }
703  uint32 GetBaseArmor() const { return GetArmor(ExtendedData->ItemLevel); }
704  void GetBaseDamage(float& minDamage, float& maxDamage) const { GetDamage(ExtendedData->ItemLevel, minDamage, maxDamage); }
705 
707  std::vector<ItemEffectEntry const*> Effects;
708 
709  // extra fields, not part of db2 files
718  std::unordered_set<uint32> Specializations[2]; // one set for 1-40 level range and another for 41-100
719 
720  // helpers
722  {
723  switch (GetInventoryType())
724  {
725  case INVTYPE_RELIC:
726  case INVTYPE_SHIELD:
727  case INVTYPE_HOLDABLE:
728  return true;
729  default:
730  break;
731  }
732 
733  switch (GetClass())
734  {
735  case ITEM_CLASS_WEAPON:
737  return true;
738  }
739 
740  return false;
741  }
742 
743  bool IsCurrencyToken() const { return (GetBagFamily() & BAG_FAMILY_MASK_CURRENCY_TOKENS) != 0; }
744 
746  {
747  return (ExtendedData->Stackable == 2147483647 || ExtendedData->Stackable <= 0) ? uint32(0x7FFFFFFF - 1) : uint32(ExtendedData->Stackable);
748  }
749 
750  bool IsPotion() const { return GetClass() == ITEM_CLASS_CONSUMABLE && GetSubClass() == ITEM_SUBCLASS_POTION; }
751  bool IsVellum() const { return GetClass() == ITEM_CLASS_TRADE_GOODS && GetSubClass() == ITEM_SUBCLASS_ENCHANTMENT; }
752  bool IsConjuredConsumable() const { return GetClass() == ITEM_CLASS_CONSUMABLE && (GetFlags() & ITEM_FLAG_CONJURED); }
753 
754  bool IsRangedWeapon() const
755  {
756  return GetClass() == ITEM_CLASS_WEAPON ||
757  GetSubClass() == ITEM_SUBCLASS_WEAPON_BOW ||
758  GetSubClass() == ITEM_SUBCLASS_WEAPON_GUN ||
759  GetSubClass() == ITEM_SUBCLASS_WEAPON_CROSSBOW;
760  }
761 
762  char const* GetDefaultLocaleName() const;
763  uint32 GetArmor(uint32 itemLevel) const;
764  void GetDamage(uint32 itemLevel, float& minDamage, float& maxDamage) const;
765  bool CanWinForPlayer(Player const* player) const;
766 };
767 
768 // Benchmarked: Faster than std::map (insert/find)
769 typedef std::unordered_map<uint32, ItemTemplate> ItemTemplateContainer;
770 
771 #endif
uint32 GetBaseItemLevel() const
Definition: ItemTemplate.h:667
Definition: ItemTemplate.h:411
uint32 ItemLevel
Definition: DB2Structure.h:805
Definition: ItemTemplate.h:214
Definition: ItemTemplate.h:538
Definition: ItemTemplate.h:174
Definition: ItemTemplate.h:506
uint32 BuyCount
Definition: DB2Structure.h:799
uint32 GetLockID() const
Definition: ItemTemplate.h:687
Definition: ItemTemplate.h:360
Definition: ItemTemplate.h:68
#define MAX_ITEM_SUBCLASS_GLYPH
Definition: ItemTemplate.h:619
uint32 BagFamily
Definition: DB2Structure.h:843
Definition: ItemTemplate.h:225
Definition: ItemTemplate.h:93
Definition: ItemTemplate.h:410
Definition: ItemTemplate.h:222
Definition: ItemTemplate.h:51
#define MAX_ITEM_SUBCLASS_PROJECTILE
Definition: ItemTemplate.h:502
ItemSubclassRecipe
Definition: ItemTemplate.h:532
Definition: ItemTemplate.h:381
Definition: ItemTemplate.h:153
Definition: ItemTemplate.h:315
Definition: ItemTemplate.h:437
uint32 TotemCategory
Definition: DB2Structure.h:844
Definition: ItemTemplate.h:431
Definition: ItemTemplate.h:140
uint32 SubClass
Definition: DB2Structure.h:714
Definition: ItemTemplate.h:373
uint32 GetRandomSuffix() const
Definition: ItemTemplate.h:689
Definition: ItemTemplate.h:269
Definition: ItemTemplate.h:397
Definition: ItemTemplate.h:177
Definition: ItemTemplate.h:212
Definition: ItemTemplate.h:259
Definition: ItemTemplate.h:204
ItemSubclassKey
Definition: ItemTemplate.h:577
Definition: ItemTemplate.h:181
uint32 GetContainerSlots() const
Definition: ItemTemplate.h:675
Definition: ItemTemplate.h:36
Definition: ItemTemplate.h:481
Definition: ItemTemplate.h:168
uint32 RequiredReputationFaction
Definition: DB2Structure.h:812
Definition: ItemTemplate.h:77
Definition: ItemTemplate.h:135
Definition: ItemTemplate.h:112
Definition: ItemTemplate.h:149
ItemEntry const * BasicData
Definition: ItemTemplate.h:649
Definition: ItemTemplate.h:599
Definition: ItemTemplate.h:580
Definition: ItemTemplate.h:535
Definition: ItemTemplate.h:252
Definition: ItemTemplate.h:62
int32 GetAllowableClass() const
Definition: ItemTemplate.h:665
Definition: ItemTemplate.h:534
Definition: ItemTemplate.h:516
Definition: ItemTemplate.h:136
int32 AllowableRace
Definition: DB2Structure.h:804
uint32 GetGemProperties() const
Definition: ItemTemplate.h:697
Definition: ItemTemplate.h:405
uint32 GetSocketBonus() const
Definition: ItemTemplate.h:696
Definition: ItemTemplate.h:375
Definition: ItemTemplate.h:216
Definition: ItemTemplate.h:598
Definition: ItemTemplate.h:323
Definition: ItemTemplate.h:312
Definition: ItemTemplate.h:101
Definition: ItemTemplate.h:270
Definition: ItemTemplate.h:89
Definition: ItemTemplate.h:57
Definition: ItemTemplate.h:47
Definition: ItemTemplate.h:180
Definition: ItemTemplate.h:190
uint32 PageText
Definition: DB2Structure.h:831
Definition: DB2Structure.h:792
Definition: ItemTemplate.h:138
Definition: ItemTemplate.h:435
int32 GetItemStatValue(uint32 index) const
Definition: ItemTemplate.h:677
Definition: ItemTemplate.h:73
uint32 Delay
Definition: DB2Structure.h:823
Definition: ItemTemplate.h:310
Definition: ItemTemplate.h:254
uint32 FoodType
Definition: ItemTemplate.h:713
Definition: ItemTemplate.h:176
Definition: ItemTemplate.h:53
Definition: ItemTemplate.h:227
ItemSubclassProjectile
Definition: ItemTemplate.h:493
uint32 GetRandomProperty() const
Definition: ItemTemplate.h:688
Definition: ItemTemplate.h:495
Definition: ItemTemplate.h:352
Definition: ItemTemplate.h:517
Definition: ItemTemplate.h:344
void GetBaseDamage(float &minDamage, float &maxDamage) const
Definition: ItemTemplate.h:704
Definition: ItemTemplate.h:462
Definition: ItemTemplate.h:455
ItemSubclassTradeGoods
Definition: ItemTemplate.h:504
Definition: ItemTemplate.h:351
Definition: ItemTemplate.h:536
Definition: ItemTemplate.h:382
Definition: ItemTemplate.h:348
Definition: ItemTemplate.h:247
Definition: ItemTemplate.h:213
Definition: ItemTemplate.h:393
Definition: ItemTemplate.h:65
int32 GetItemStatAllocation(uint32 index) const
Definition: ItemTemplate.h:678
Definition: ItemTemplate.h:240
Definition: ItemTemplate.h:85
Definition: ItemTemplate.h:334
Definition: ItemTemplate.h:223
bool IsPotion() const
Definition: ItemTemplate.h:750
Definition: ItemTemplate.h:90
Definition: ItemTemplate.h:612
Definition: ItemTemplate.h:480
Definition: ItemTemplate.h:203
float GetUnk2() const
Definition: ItemTemplate.h:660
Definition: ItemTemplate.h:309
Definition: ItemTemplate.h:185
Definition: ItemTemplate.h:579
Definition: ItemTemplate.h:96
uint32 MaxMoneyLoot
Definition: ItemTemplate.h:715
Definition: ItemTemplate.h:182
SocketColor GetSocketColor(uint32 index) const
Definition: ItemTemplate.h:695
Definition: ItemTemplate.h:164
Definition: ItemTemplate.h:123
Definition: ItemTemplate.h:63
Definition: ItemTemplate.h:192
Definition: ItemTemplate.h:537
Definition: ItemTemplate.h:234
Definition: ItemTemplate.h:145
Definition: ItemTemplate.h:545
Definition: ItemTemplate.h:195
uint32 GetDuration() const
Definition: ItemTemplate.h:699
Definition: ItemTemplate.h:376
Definition: ItemTemplate.h:478
Definition: ItemTemplate.h:155
Definition: ItemTemplate.h:226
ItemSubclassConsumable
Definition: ItemTemplate.h:388
BAG_FAMILY_MASK
Definition: ItemTemplate.h:296
Definition: ItemTemplate.h:218
uint32 RandomSuffix
Definition: DB2Structure.h:839
Definition: ItemTemplate.h:33
uint32 Area
Definition: DB2Structure.h:841
uint32 LockID
Definition: DB2Structure.h:835
uint32 GetClass() const
Definition: ItemTemplate.h:653
Definition: ItemTemplate.h:596
Definition: ItemTemplate.h:600
#define MAX_ITEM_CLASS
Definition: ItemTemplate.h:386
Definition: ItemTemplate.h:84
Definition: ItemTemplate.h:198
Definition: ItemTemplate.h:291
Definition: ItemTemplate.h:303
Definition: ItemTemplate.h:563
Definition: ItemTemplate.h:162
Definition: ItemTemplate.h:332
uint32 GetRequiredSpell() const
Definition: ItemTemplate.h:671
Definition: ItemTemplate.h:197
Definition: ItemTemplate.h:543
Definition: ItemTemplate.h:304
Definition: ItemTemplate.h:102
Definition: ItemTemplate.h:497
uint32 RequiredSpell
Definition: DB2Structure.h:809
Definition: ItemTemplate.h:228
Definition: ItemTemplate.h:395
Definition: ItemTemplate.h:60
uint32 GetRequiredSkillRank() const
Definition: ItemTemplate.h:670
Definition: ItemTemplate.h:184
Definition: ItemTemplate.h:258
ItemSubclassGem
Definition: ItemTemplate.h:451
Definition: ItemTemplate.h:594
uint32 GetBuyCount() const
Definition: ItemTemplate.h:661
Definition: ItemTemplate.h:433
Definition: ItemTemplate.h:343
Definition: ItemTemplate.h:277
#define MAX_ITEM_SUBCLASS_RECIPE
Definition: ItemTemplate.h:548
Definition: ItemTemplate.h:81
int32 RequiredLevel
Definition: DB2Structure.h:806
uint32 GetPageText() const
Definition: ItemTemplate.h:685
uint32 HolidayID
Definition: DB2Structure.h:851
Definition: ItemTemplate.h:335
Definition: ItemTemplate.h:139
uint32 Stackable
Definition: DB2Structure.h:815
Definition: ItemTemplate.h:275
int32 ItemStatAllocation[MAX_ITEM_PROTO_STATS]
Definition: DB2Structure.h:819
uint32 BuyPrice
Definition: DB2Structure.h:800
#define MAX_ITEM_SUBCLASS_GEM
Definition: ItemTemplate.h:466
Definition: ItemTemplate.h:120
Definition: ItemTemplate.h:299
InventoryType
Definition: ItemTemplate.h:330
Definition: ItemTemplate.h:414
Definition: ItemTemplate.h:95
uint32 GetScalingStatDistribution() const
Definition: ItemTemplate.h:680
Definition: ItemTemplate.h:409
Definition: ItemTemplate.h:49
Definition: ItemTemplate.h:308
ItemFlags3
Definition: ItemTemplate.h:243
Definition: ItemTemplate.h:152
Definition: ItemTemplate.h:507
Definition: ItemTemplate.h:150
Definition: ItemTemplate.h:406
#define MAX_ITEM_SUBCLASS_TRADE_GOODS
Definition: ItemTemplate.h:523
#define MAX_ITEM_SUBCLASS_REAGENT
Definition: ItemTemplate.h:491
Definition: ItemTemplate.h:187
T max(const T &x, const T &y)
Definition: g3dmath.h:320
Definition: ItemTemplate.h:474
Definition: ItemTemplate.h:124
Definition: ItemTemplate.h:79
Definition: ItemTemplate.h:391
ItemSubclassWeapon
Definition: ItemTemplate.h:420
bool IsVellum() const
Definition: ItemTemplate.h:751
Definition: ItemTemplate.h:78
Definition: ItemTemplate.h:163
ItemSubclassReagent
Definition: ItemTemplate.h:486
int32 ItemStatType[MAX_ITEM_PROTO_STATS]
Definition: DB2Structure.h:817
Definition: ItemTemplate.h:119
#define MAX_ITEM_SUBCLASS_ARMOR
Definition: ItemTemplate.h:484
bool CanChangeEquipStateInCombat() const
Definition: ItemTemplate.h:721
Definition: ItemTemplate.h:59
Definition: ItemTemplate.h:377
Definition: ItemTemplate.h:463
uint32 GetDamageType() const
Definition: ItemTemplate.h:681
Definition: ItemTemplate.h:219
uint32 ItemSet
Definition: DB2Structure.h:840
ItemSubclassGlyph
Definition: ItemTemplate.h:605
Definition: ItemTemplate.h:45
Definition: ItemTemplate.h:398
SocketColor
Definition: ItemTemplate.h:318
float GetStatScalingFactor() const
Definition: ItemTemplate.h:702
ItemSubclassPermanent
Definition: ItemTemplate.h:585
Definition: ItemTemplate.h:233
Definition: ItemTemplate.h:160
Definition: ItemTemplate.h:56
Definition: ItemTemplate.h:432
Definition: ItemTemplate.h:42
uint32 GetFlags2() const
Definition: ItemTemplate.h:657
Definition: ItemTemplate.h:527
Definition: ItemTemplate.h:285
Definition: ItemTemplate.h:473
Definition: ItemTemplate.h:614
Definition: ItemTemplate.h:236
Definition: ItemTemplate.h:587
Definition: ItemTemplate.h:479
Definition: ItemTemplate.h:412
InventoryType GetInventoryType() const
Definition: ItemTemplate.h:664
Definition: ItemTemplate.h:428
ItemSubclassJunk
Definition: ItemTemplate.h:592
uint32 GetItemLimitCategory() const
Definition: ItemTemplate.h:700
Definition: ItemTemplate.h:426
Definition: ItemTemplate.h:424
Definition: ItemTemplate.h:202
Definition: ItemTemplate.h:209
Definition: ItemTemplate.h:571
Definition: ItemTemplate.h:607
Definition: ItemTemplate.h:61
float SpellPPMRate
Definition: ItemTemplate.h:717
CurrencyCategory
Definition: ItemTemplate.h:282
Definition: ItemTemplate.h:66
Definition: ItemTemplate.h:345
Definition: ItemTemplate.h:518
Definition: ItemTemplate.h:346
Definition: ItemTemplate.h:313
Definition: ItemTemplate.h:260
Definition: ItemTemplate.h:333
Definition: ItemTemplate.h:380
ItemVendorType
Definition: ItemTemplate.h:289
uint32 Quality
Definition: DB2Structure.h:795
Definition: ItemTemplate.h:520
Definition: ItemTemplate.h:165
Definition: ItemTemplate.h:31
Definition: ItemTemplate.h:544
Definition: ItemTemplate.h:44
std::vector< ItemEffectEntry const * > Effects
Definition: ItemTemplate.h:707
Definition: ItemTemplate.h:88
Definition: ItemTemplate.h:340
Definition: ItemTemplate.h:186
Definition: ItemTemplate.h:69
Definition: ItemTemplate.h:322
Definition: ItemTemplate.h:460
Definition: ItemTemplate.h:231
Definition: ItemTemplate.h:508
#define MAX_ITEM_PROTO_STATS
Definition: DB2Structure.h:790
Definition: ItemTemplate.h:166
Definition: ItemTemplate.h:430
Definition: ItemTemplate.h:454
ItemBondingType
Definition: ItemTemplate.h:117
uint32 ScalingStatDistribution
Definition: DB2Structure.h:821
Definition: ItemTemplate.h:292
Definition: ItemTemplate.h:55
uint32 GetBaseArmor() const
Definition: ItemTemplate.h:703
Definition: ItemTemplate.h:35
uint32 GetItemSet() const
Definition: ItemTemplate.h:690
Definition: ItemTemplate.h:220
Definition: ItemTemplate.h:354
Definition: ItemTemplate.h:298
Definition: ItemTemplate.h:141
LocaleConstant
Definition: Common.h:115
Definition: ItemTemplate.h:70
Definition: ItemTemplate.h:311
Definition: ItemTemplate.h:300
Definition: ItemTemplate.h:121
uint32 GetDelay() const
Definition: ItemTemplate.h:682
uint32 Bonding
Definition: DB2Structure.h:825
Definition: ItemTemplate.h:237
uint32 MaxCount
Definition: DB2Structure.h:814
float ArmorDamageModifier
Definition: DB2Structure.h:848
Definition: ItemTemplate.h:72
Definition: ItemTemplate.h:359
Definition: ItemTemplate.h:610
Definition: ItemTemplate.h:513
Definition: ItemTemplate.h:438
Definition: ItemTemplate.h:235
Definition: ItemTemplate.h:122
Definition: ItemTemplate.h:368
float ItemStatSocketCostMultiplier[MAX_ITEM_PROTO_STATS]
Definition: DB2Structure.h:820
uint32 DisenchantID
Definition: ItemTemplate.h:711
uint32 GetSellPrice() const
Definition: ItemTemplate.h:663
Definition: ItemTemplate.h:347
Definition: ItemTemplate.h:38
Definition: ItemTemplate.h:425
Definition: ItemTemplate.h:509
Definition: ItemTemplate.h:408
Definition: ItemTemplate.h:472
Definition: ItemTemplate.h:74
ItemSubclassArmor
Definition: ItemTemplate.h:468
Definition: ItemTemplate.h:356
#define MAX_ITEM_SUBCLASS_WEAPON
Definition: ItemTemplate.h:449
Definition: ItemTemplate.h:307
ItemFlags2
Definition: ItemTemplate.h:207
int32 ItemStatValue[MAX_ITEM_PROTO_STATS]
Definition: DB2Structure.h:818
uint32 GetMap() const
Definition: ItemTemplate.h:692
uint32 SellPrice
Definition: DB2Structure.h:801
int32_t int32
Definition: Define.h:146
Definition: ItemTemplate.h:552
Definition: ItemTemplate.h:396
ItemSubclassMoney
Definition: ItemTemplate.h:550
Definition: ItemTemplate.h:511
uint32 GetRequiredSkill() const
Definition: ItemTemplate.h:669
uint32_t uint32
Definition: Define.h:150
Definition: ItemTemplate.h:324
Definition: ItemTemplate.h:229
ItemSpelltriggerType
Definition: ItemTemplate.h:99
Definition: ItemTemplate.h:337
uint32 GetFlags3() const
Definition: ItemTemplate.h:658
Definition: ItemTemplate.h:215
Definition: ItemTemplate.h:245
float Unk2
Definition: DB2Structure.h:798
Definition: ItemTemplate.h:200
CurrencyFlags
Definition: ItemTemplate.h:273
uint32 RequiredDisenchantSkill
Definition: ItemTemplate.h:712
Definition: ItemTemplate.h:32
uint32 GetStartQuest() const
Definition: ItemTemplate.h:686
Definition: ItemTemplate.h:173
Definition: ItemTemplate.h:268
uint32 DamageType
Definition: DB2Structure.h:822
Definition: ItemTemplate.h:595
TC_GAME_API bool GetName(uint32 accountId, std::string &name)
Definition: BattlenetAccountMgr.cpp:138
Definition: ItemTemplate.h:301
Definition: ItemTemplate.h:157
Definition: ItemTemplate.h:196
Definition: ItemTemplate.h:58
Definition: ItemTemplate.h:48
Definition: ItemTemplate.h:436
ItemClass
Definition: ItemTemplate.h:365
Definition: ItemTemplate.h:306
uint32 ID
Definition: DB2Structure.h:712
uint32 GetMaxStackSize() const
Definition: ItemTemplate.h:745
Definition: ItemTemplate.h:94
Definition: ItemTemplate.h:251
Definition: ItemTemplate.h:350
#define MAX_ITEM_SUBCLASS_GENERIC
Definition: ItemTemplate.h:530
Definition: ItemTemplate.h:54
uint32 SocketBonus
Definition: DB2Structure.h:846
Definition: ItemTemplate.h:224
float GetItemStatSocketCostMultiplier(uint32 index) const
Definition: ItemTemplate.h:679
Definition: ItemTemplate.h:80
uint32 Flags[MAX_ITEM_PROTO_FLAGS]
Definition: DB2Structure.h:796
Definition: ItemTemplate.h:459
uint32 GetBagFamily() const
Definition: ItemTemplate.h:693
bool IsConjuredConsumable() const
Definition: ItemTemplate.h:752
float GetUnk1() const
Definition: ItemTemplate.h:659
#define MAX_ITEM_SUBCLASS_JUNK
Definition: ItemTemplate.h:603
Definition: ItemTemplate.h:320
Definition: ItemTemplate.h:217
Definition: ItemTemplate.h:40
Definition: ItemTemplate.h:253
uint32 GetTotemCategory() const
Definition: ItemTemplate.h:694
Definition: ItemTemplate.h:394
Definition: ItemTemplate.h:159
Definition: ItemTemplate.h:597
uint32 ContainerSlots
Definition: DB2Structure.h:816
Definition: ItemTemplate.h:357
Definition: ItemTemplate.h:255
Definition: ItemTemplate.h:378
uint32 MaxDurability
Definition: ItemTemplate.h:706
bool IsCurrencyToken() const
Definition: ItemTemplate.h:743
Definition: ItemTemplate.h:230
Definition: ItemTemplate.h:249
uint32 Duration
Definition: DB2Structure.h:849
Definition: ItemTemplate.h:488
Definition: ItemTemplate.h:440
ItemBondingType GetBonding() const
Definition: ItemTemplate.h:683
Definition: ItemTemplate.h:87
Definition: ItemTemplate.h:41
Definition: ItemTemplate.h:349
uint32 SocketColor[MAX_ITEM_PROTO_SOCKETS]
Definition: DB2Structure.h:845
Definition: ItemTemplate.h:441
float Unk1
Definition: DB2Structure.h:797
uint32 FlagsCu
Definition: ItemTemplate.h:716
Definition: ItemTemplate.h:353
Definition: ItemTemplate.h:514
Definition: ItemTemplate.h:302
Definition: ItemTemplate.h:210
Definition: ItemTemplate.h:246
Definition: ItemTemplate.h:383
Definition: ItemTemplate.h:193
Definition: ItemTemplate.h:369
Definition: ItemTemplate.h:179
Definition: ItemTemplate.h:336
Definition: ItemTemplate.h:194
ItemSparseEntry const * ExtendedData
Definition: ItemTemplate.h:650
Definition: ItemTemplate.h:647
Definition: ItemTemplate.h:342
Definition: ItemTemplate.h:470
Definition: ItemTemplate.h:370
uint32 InventoryType
Definition: DB2Structure.h:802
uint32 StartQuest
Definition: DB2Structure.h:834
#define MAX_ITEM_PROTO_SOCKETS
Definition: DB2Structure.h:789
int32 GetAllowableRace() const
Definition: ItemTemplate.h:666
ItemSubclassContainer
Definition: ItemTemplate.h:403
Definition: ItemTemplate.h:461
uint32 GetSubClass() const
Definition: ItemTemplate.h:654
Definition: ItemTemplate.h:142
Definition: DB2Structure.h:710
Definition: ItemTemplate.h:570
Definition: ItemTemplate.h:183
uint32 GetRequiredReputationFaction() const
Definition: ItemTemplate.h:672
Definition: ItemTemplate.h:540
Definition: ItemTemplate.h:103
Definition: ItemTemplate.h:39
Definition: ItemTemplate.h:82
Definition: ItemTemplate.h:456
#define MAX_ITEM_SUBCLASS_QUIVER
Definition: ItemTemplate.h:566
Definition: ItemTemplate.h:367
Definition: ItemTemplate.h:499
Definition: ItemTemplate.h:413
Definition: ItemTemplate.h:616
Definition: ItemTemplate.h:250
ItemFlagsCustom
Definition: ItemTemplate.h:266
Definition: ItemTemplate.h:257
Definition: ItemTemplate.h:339
Definition: ItemTemplate.h:262
Definition: ItemTemplate.h:30
#define TC_GAME_API
Definition: Define.h:134
Definition: ItemTemplate.h:496
Definition: ItemTemplate.h:422
Definition: ItemTemplate.h:263
Definition: ItemTemplate.h:542
Definition: ItemTemplate.h:83
Definition: ItemTemplate.h:34
#define MAX_ITEM_SUBCLASS_QUEST
Definition: ItemTemplate.h:575
Definition: ItemTemplate.h:510
Definition: ItemTemplate.h:279
Definition: ItemTemplate.h:27
Definition: ItemTemplate.h:358
#define MAX_ITEM_SUBCLASS_CONTAINER
Definition: ItemTemplate.h:418
Definition: ItemTemplate.h:76
const uint32 MaxItemSubclassValues[MAX_ITEM_CLASS]
Definition: ItemTemplate.h:621
Definition: ItemTemplate.h:232
Definition: ItemTemplate.h:434
uint32 GetArea() const
Definition: ItemTemplate.h:691
ItemSubclassQuiver
Definition: ItemTemplate.h:558
uint32 GemProperties
Definition: DB2Structure.h:847
Definition: ItemTemplate.h:560
Definition: ItemTemplate.h:515
float GetArmorDamageModifier() const
Definition: ItemTemplate.h:698
Definition: ItemTemplate.h:67
HolidayIds GetHolidayID() const
Definition: ItemTemplate.h:701
int32 GetBaseRequiredLevel() const
Definition: ItemTemplate.h:668
Definition: ItemTemplate.h:415
Definition: ItemTemplate.h:64
Definition: ItemTemplate.h:305
uint32 GetRequiredReputationRank() const
Definition: ItemTemplate.h:673
bool IsRangedWeapon() const
Definition: ItemTemplate.h:754
uint32 GetFlags() const
Definition: ItemTemplate.h:656
#define ASSERT
Definition: Errors.h:55
Definition: ItemTemplate.h:541
Definition: ItemTemplate.h:475
Definition: ItemTemplate.h:561
Definition: ItemTemplate.h:143
Definition: ItemTemplate.h:539
uint32 GetId() const
Definition: ItemTemplate.h:652
Definition: ItemTemplate.h:161
Definition: ItemTemplate.h:261
Definition: ItemTemplate.h:147
Definition: ItemTemplate.h:321
Definition: ItemTemplate.h:314
int32 AllowableClass
Definition: DB2Structure.h:803
Definition: ItemTemplate.h:111
Definition: ItemTemplate.h:37
Definition: ItemTemplate.h:442
Definition: ItemTemplate.h:613
uint32 Class
Definition: DB2Structure.h:713
float StatScalingFactor
Definition: DB2Structure.h:852
uint32 GetMaxCount() const
Definition: ItemTemplate.h:674
Definition: ItemTemplate.h:29
uint32 RequiredReputationRank
Definition: DB2Structure.h:813
ItemFlags
Definition: ItemTemplate.h:171
Definition: ItemTemplate.h:512
uint32_t uint32
Definition: g3dmath.h:168
uint32 RandomProperty
Definition: DB2Structure.h:838
Definition: ItemTemplate.h:519
Definition: ItemTemplate.h:562
Definition: ItemTemplate.h:201
#define MAX_ITEM_SUBCLASS_CONSUMABLE
Definition: ItemTemplate.h:401
uint32 RequiredSkill
Definition: DB2Structure.h:807
Definition: ItemTemplate.h:104
#define MAX_ITEM_SUBCLASS_MONEY
Definition: ItemTemplate.h:556
Definition: ItemTemplate.h:608
Definition: ItemTemplate.h:50
uint32 MinMoneyLoot
Definition: ItemTemplate.h:714
Definition: ItemTemplate.h:199
#define MAX_ITEM_SUBCLASS_PERMANENT
Definition: ItemTemplate.h:590
Definition: ItemTemplate.h:92
Definition: ItemTemplate.h:178
Definition: ItemTemplate.h:615
Definition: ItemTemplate.h:355
Definition: ItemTemplate.h:572
Definition: ItemTemplate.h:71
Definition: ItemTemplate.h:221
Definition: ItemTemplate.h:191
ItemFieldFlags
Definition: ItemTemplate.h:133
Definition: ItemTemplate.h:86
ItemSubclassQuest
Definition: ItemTemplate.h:568
Definition: ItemTemplate.h:158
Definition: ItemTemplate.h:28
Definition: ItemTemplate.h:477
Definition: ItemTemplate.h:188
ItemSubclassGeneric
Definition: ItemTemplate.h:525
uint32 ItemLimitCategory
Definition: DB2Structure.h:850
Definition: ItemTemplate.h:372
Definition: ItemTemplate.h:341
Definition: ItemTemplate.h:256
Definition: ItemTemplate.h:611
Definition: ItemTemplate.h:248
Definition: ItemTemplate.h:154
Definition: ItemTemplate.h:52
Definition: ItemTemplate.h:429
Definition: ItemTemplate.h:46
Definition: ItemTemplate.h:379
uint32 ScriptId
Definition: ItemTemplate.h:710
Definition: ItemTemplate.h:392
Definition: ItemTemplate.h:423
Definition: ItemTemplate.h:453
Definition: ItemTemplate.h:148
Definition: ItemTemplate.h:371
Definition: ItemTemplate.h:457
Definition: ItemTemplate.h:471
Definition: ItemTemplate.h:151
Definition: ItemTemplate.h:211
Definition: ItemTemplate.h:239
Definition: ItemTemplate.h:476
Definition: ItemTemplate.h:427
#define MAX_ITEM_SUBCLASS_KEY
Definition: ItemTemplate.h:583
Definition: ItemTemplate.h:75
Definition: ItemTemplate.h:43
Definition: ItemTemplate.h:146
std::unordered_map< uint32, ItemTemplate > ItemTemplateContainer
Definition: ItemTemplate.h:769
HolidayIds
Definition: SharedDefines.h:3714
Definition: ItemTemplate.h:338
Definition: ItemTemplate.h:91
Definition: ItemTemplate.h:238
Definition: ItemTemplate.h:458
uint32 RequiredSkillRank
Definition: DB2Structure.h:808
Definition: ItemTemplate.h:498
Definition: ItemTemplate.h:137
Definition: ItemTemplate.h:374
Definition: ItemTemplate.h:439
uint32 GetBuyPrice() const
Definition: ItemTemplate.h:662
ItemModType
Definition: ItemTemplate.h:25
uint32 Map
Definition: DB2Structure.h:842
Definition: ItemTemplate.h:144
Definition: ItemTemplate.h:156
Definition: ItemTemplate.h:175
Definition: ItemTemplate.h:293
Definition: ItemTemplate.h:407
Definition: ItemTemplate.h:553
Definition: ItemTemplate.h:609
Definition: ItemTemplate.h:390
Definition: ItemTemplate.h:189
Definition: ItemTemplate.h:325
int32 GetItemStatType(uint32 index) const
Definition: ItemTemplate.h:676
uint32 GetQuality() const
Definition: ItemTemplate.h:655