AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
ItemTemplate Struct Reference

#include "ItemTemplate.h"

Public Member Functions

bool HasSignature () const
 
bool CanChangeEquipStateInCombat () const
 
bool IsCurrencyToken () const
 
uint32 GetMaxStackSize () const
 
float getDPS () const
 
int32 getFeralBonus (int32 extraDPS=0) const
 
float GetItemLevelIncludingQuality (uint8 pLevel) const
 
uint32 GetSkill () const
 
bool IsPotion () const
 
bool IsWeaponVellum () const
 
bool IsArmorVellum () const
 
bool IsConjuredConsumable () const
 
bool HasStat (ItemModType stat) const
 
bool HasSpellPowerStat () const
 
void InitializeQueryData ()
 

Public Attributes

uint32 ItemId
 
uint32 Class
 
uint32 SubClass
 
int32 SoundOverrideSubclass
 
std::string Name1
 
uint32 DisplayInfoID
 
uint32 Quality
 
uint32 Flags
 
uint32 Flags2
 
uint32 BuyCount
 
int32 BuyPrice
 
uint32 SellPrice
 
uint32 InventoryType
 
uint32 AllowableClass
 
uint32 AllowableRace
 
uint32 ItemLevel
 
uint32 RequiredLevel
 
uint32 RequiredSkill
 
uint32 RequiredSkillRank
 
uint32 RequiredSpell
 
uint32 RequiredHonorRank
 
uint32 RequiredCityRank
 
uint32 RequiredReputationFaction
 
uint32 RequiredReputationRank
 
int32 MaxCount
 
int32 Stackable
 
uint32 ContainerSlots
 
uint32 StatsCount
 
_ItemStat ItemStat [MAX_ITEM_PROTO_STATS]
 
uint32 ScalingStatDistribution
 
uint32 ScalingStatValue
 
_Damage Damage [MAX_ITEM_PROTO_DAMAGES]
 
uint32 Armor
 
int32 HolyRes
 
int32 FireRes
 
int32 NatureRes
 
int32 FrostRes
 
int32 ShadowRes
 
int32 ArcaneRes
 
uint32 Delay
 
uint32 AmmoType
 
float RangedModRange
 
_Spell Spells [MAX_ITEM_PROTO_SPELLS]
 
uint32 Bonding
 
std::string Description
 
uint32 PageText
 
uint32 LanguageID
 
uint32 PageMaterial
 
uint32 StartQuest
 
uint32 LockID
 
int32 Material
 
uint32 Sheath
 
int32 RandomProperty
 
int32 RandomSuffix
 
uint32 Block
 
uint32 ItemSet
 
uint32 MaxDurability
 
uint32 Area
 
uint32 Map
 
uint32 BagFamily
 
uint32 TotemCategory
 
_Socket Socket [MAX_ITEM_PROTO_SOCKETS]
 
uint32 socketBonus
 
uint32 GemProperties
 
uint32 RequiredDisenchantSkill
 
float ArmorDamageModifier
 
uint32 Duration
 
uint32 ItemLimitCategory
 
uint32 HolidayId
 
uint32 ScriptId
 
uint32 DisenchantID
 
uint32 FoodType
 
uint32 MinMoneyLoot
 
uint32 MaxMoneyLoot
 
uint32 FlagsCu
 
WorldPacket queryData
 

Detailed Description

Member Function Documentation

◆ CanChangeEquipStateInCombat()

bool ItemTemplate::CanChangeEquipStateInCombat ( ) const
inline
717 {
718 switch (InventoryType)
719 {
720 case INVTYPE_RELIC:
721 case INVTYPE_SHIELD:
722 case INVTYPE_HOLDABLE:
723 return true;
724 }
725
726 switch (Class)
727 {
730 return true;
731 }
732
733 return false;
734 }
InventoryType
Definition: ItemTemplate.h:264
@ INVTYPE_HOLDABLE
Definition: ItemTemplate.h:288
@ INVTYPE_RELIC
Definition: ItemTemplate.h:293
@ INVTYPE_SHIELD
Definition: ItemTemplate.h:279
@ ITEM_CLASS_PROJECTILE
Definition: ItemTemplate.h:306
@ ITEM_CLASS_WEAPON
Definition: ItemTemplate.h:302
uint32 Class
Definition: ItemTemplate.h:630

References Class, INVTYPE_HOLDABLE, INVTYPE_RELIC, INVTYPE_SHIELD, ITEM_CLASS_PROJECTILE, and ITEM_CLASS_WEAPON.

Referenced by Player::CanEquipItem(), and Player::CanUnequipItem().

◆ getDPS()

float ItemTemplate::getDPS ( ) const
inline
744 {
745 if (Delay == 0)
746 return 0;
747 float temp = 0;
748 for (auto i : Damage)
749 temp += i.DamageMin + i.DamageMax;
750 return temp * 500 / Delay;
751 }
_Damage Damage[MAX_ITEM_PROTO_DAMAGES]
Definition: ItemTemplate.h:660
uint32 Delay
Definition: ItemTemplate.h:668

References Damage, and Delay.

Referenced by getFeralBonus().

◆ getFeralBonus()

int32 ItemTemplate::getFeralBonus ( int32  extraDPS = 0) const
inline
754 {
755 constexpr uint32 feralApEnabledInventoryTypeMaks = 1 << INVTYPE_WEAPON | 1 << INVTYPE_2HWEAPON | 1 << INVTYPE_WEAPONMAINHAND | 1 << INVTYPE_WEAPONOFFHAND;
756
757 // 0x02A5F3 - is mask for Melee weapon from ItemSubClassMask.dbc
758 if (Class == ITEM_CLASS_WEAPON && (1 << InventoryType) & feralApEnabledInventoryTypeMaks)
759 {
760 int32 bonus = int32((extraDPS + getDPS()) * 14.0f) - 767;
761 if (bonus < 0)
762 return 0;
763 return bonus;
764 }
765 return 0;
766 }
std::int32_t int32
Definition: Define.h:104
std::uint32_t uint32
Definition: Define.h:108
@ INVTYPE_WEAPON
Definition: ItemTemplate.h:278
@ INVTYPE_WEAPONMAINHAND
Definition: ItemTemplate.h:286
@ INVTYPE_WEAPONOFFHAND
Definition: ItemTemplate.h:287
@ INVTYPE_2HWEAPON
Definition: ItemTemplate.h:282
float getDPS() const
Definition: ItemTemplate.h:743

References Class, getDPS(), INVTYPE_2HWEAPON, INVTYPE_WEAPON, INVTYPE_WEAPONMAINHAND, INVTYPE_WEAPONOFFHAND, and ITEM_CLASS_WEAPON.

Referenced by Player::_ApplyItemBonuses(), and Player::UpdateAttackPowerAndDamage().

◆ GetItemLevelIncludingQuality()

float ItemTemplate::GetItemLevelIncludingQuality ( uint8  pLevel) const
inline
769 {
770 auto itemLevel = (float)ItemLevel;
771 switch (Quality)
772 {
776 itemLevel -= 26.0f;
777 break;
779 itemLevel -= 13.0f;
780 break;
782 itemLevel = pLevel * 2.33f;
783 break;
787 default:
788 break;
789 }
790 return std::max<float>(0.f, itemLevel);
791 }
@ ITEM_QUALITY_UNCOMMON
Definition: SharedDefines.h:303
@ ITEM_QUALITY_RARE
Definition: SharedDefines.h:304
@ ITEM_QUALITY_NORMAL
Definition: SharedDefines.h:302
@ ITEM_QUALITY_LEGENDARY
Definition: SharedDefines.h:306
@ ITEM_QUALITY_HEIRLOOM
Definition: SharedDefines.h:308
@ ITEM_QUALITY_POOR
Definition: SharedDefines.h:301
@ ITEM_QUALITY_ARTIFACT
Definition: SharedDefines.h:307
@ ITEM_QUALITY_EPIC
Definition: SharedDefines.h:305
uint32 Quality
Definition: ItemTemplate.h:635
uint32 ItemLevel
Definition: ItemTemplate.h:644

References ITEM_QUALITY_ARTIFACT, ITEM_QUALITY_EPIC, ITEM_QUALITY_HEIRLOOM, ITEM_QUALITY_LEGENDARY, ITEM_QUALITY_NORMAL, ITEM_QUALITY_POOR, ITEM_QUALITY_RARE, ITEM_QUALITY_UNCOMMON, ItemLevel, and Quality.

Referenced by Player::GetAverageItemLevel().

◆ GetMaxStackSize()

◆ GetSkill()

uint32 ItemTemplate::GetSkill ( ) const
inline
794 {
795 const static uint32 item_weapon_skills[MAX_ITEM_SUBCLASS_WEAPON] =
796 {
802 };
803
804 const static uint32 item_armor_skills[MAX_ITEM_SUBCLASS_ARMOR] =
805 {
807 };
808
809 switch (Class)
810 {
813 return 0;
814 else
815 return item_weapon_skills[SubClass];
816
817 case ITEM_CLASS_ARMOR:
819 return 0;
820 else
821 return item_armor_skills[SubClass];
822
823 default:
824 return 0;
825 }
826 }
#define MAX_ITEM_SUBCLASS_ARMOR
Definition: ItemTemplate.h:412
@ ITEM_CLASS_ARMOR
Definition: ItemTemplate.h:304
#define MAX_ITEM_SUBCLASS_WEAPON
Definition: ItemTemplate.h:380
@ SKILL_BOWS
Definition: SharedDefines.h:2845
@ SKILL_MACES
Definition: SharedDefines.h:2849
@ SKILL_PLATE_MAIL
Definition: SharedDefines.h:2923
@ SKILL_LEATHER
Definition: SharedDefines.h:2935
@ SKILL_WANDS
Definition: SharedDefines.h:2913
@ SKILL_GUNS
Definition: SharedDefines.h:2846
@ SKILL_SHIELD
Definition: SharedDefines.h:2937
@ SKILL_CROSSBOWS
Definition: SharedDefines.h:2912
@ SKILL_THROWN
Definition: SharedDefines.h:2886
@ SKILL_FISHING
Definition: SharedDefines.h:2929
@ SKILL_SWORDS
Definition: SharedDefines.h:2843
@ SKILL_DAGGERS
Definition: SharedDefines.h:2885
@ SKILL_2H_AXES
Definition: SharedDefines.h:2884
@ SKILL_CLOTH
Definition: SharedDefines.h:2936
@ SKILL_POLEARMS
Definition: SharedDefines.h:2914
@ SKILL_2H_SWORDS
Definition: SharedDefines.h:2850
@ SKILL_MAIL
Definition: SharedDefines.h:2934
@ SKILL_FIST_WEAPONS
Definition: SharedDefines.h:2938
@ SKILL_2H_MACES
Definition: SharedDefines.h:2878
@ SKILL_AXES
Definition: SharedDefines.h:2844
@ SKILL_STAVES
Definition: SharedDefines.h:2866
@ SKILL_ASSASSINATION
Definition: SharedDefines.h:2918
uint32 SubClass
Definition: ItemTemplate.h:631

References Class, ITEM_CLASS_ARMOR, ITEM_CLASS_WEAPON, MAX_ITEM_SUBCLASS_ARMOR, MAX_ITEM_SUBCLASS_WEAPON, SKILL_2H_AXES, SKILL_2H_MACES, SKILL_2H_SWORDS, SKILL_ASSASSINATION, SKILL_AXES, SKILL_BOWS, SKILL_CLOTH, SKILL_CROSSBOWS, SKILL_DAGGERS, SKILL_FISHING, SKILL_FIST_WEAPONS, SKILL_GUNS, SKILL_LEATHER, SKILL_MACES, SKILL_MAIL, SKILL_PLATE_MAIL, SKILL_POLEARMS, SKILL_SHIELD, SKILL_STAVES, SKILL_SWORDS, SKILL_THROWN, SKILL_WANDS, and SubClass.

Referenced by Item::GetSkill().

◆ HasSignature()

bool ItemTemplate::HasSignature ( ) const
inline
708 {
709 return GetMaxStackSize() == 1 &&
712 (Flags & ITEM_FLAG_NO_CREATOR) == 0 &&
713 ItemId != 6948; /*Hearthstone*/
714 }
@ ITEM_FLAG_NO_CREATOR
Definition: ItemTemplate.h:165
@ ITEM_CLASS_QUEST
Definition: ItemTemplate.h:312
@ ITEM_CLASS_CONSUMABLE
Definition: ItemTemplate.h:300
uint32 GetMaxStackSize() const
Definition: ItemTemplate.h:738
uint32 Flags
Definition: ItemTemplate.h:636
uint32 ItemId
Definition: ItemTemplate.h:629

References Class, Flags, GetMaxStackSize(), ITEM_CLASS_CONSUMABLE, ITEM_CLASS_QUEST, ITEM_FLAG_NO_CREATOR, and ItemId.

Referenced by Spell::DoCreateItem().

◆ HasSpellPowerStat()

bool ItemTemplate::HasSpellPowerStat ( ) const
361{
362 bool invalid = false;
363 for (uint8 i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i)
364 {
365 _Spell const& spellData = Spells[i];
366 if (!spellData.SpellId)
367 {
368 continue;
369 }
370
371 SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellData.SpellId);
372 if (!spellInfo)
373 {
374 continue;
375 }
376
377 for (uint8 j = EFFECT_0; j <= EFFECT_2; ++j)
378 {
379 switch (spellInfo->Effects[j].ApplyAuraName)
380 {
385 invalid = true;
386 break;
391 if (!(spellInfo->Effects[j].MiscValue & SPELL_SCHOOL_MASK_SPELL))
392 {
393 return false;
394 }
395 invalid = true;
396 break;
397 default:
398 break;
399 }
400 }
401 }
402
403 return invalid;
404}
std::uint8_t uint8
Definition: Define.h:110
Spells
Definition: BattlegroundIC.h:711
#define MAX_ITEM_PROTO_SPELLS
Definition: ItemTemplate.h:624
@ SPELL_AURA_MOD_SPELL_DAMAGE_OF_ATTACK_POWER
Definition: SpellAuraDefines.h:300
@ SPELL_AURA_MOD_SPELL_DAMAGE_OF_STAT_PERCENT
Definition: SpellAuraDefines.h:237
@ SPELL_AURA_MOD_HEALING_DONE
Definition: SpellAuraDefines.h:198
@ SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT
Definition: SpellAuraDefines.h:238
@ SPELL_AURA_MOD_DAMAGE_TAKEN
Definition: SpellAuraDefines.h:77
@ SPELL_AURA_MOD_SPELL_HEALING_OF_ATTACK_POWER
Definition: SpellAuraDefines.h:301
@ SPELL_AURA_MOD_HEALING
Definition: SpellAuraDefines.h:178
@ SPELL_AURA_MOD_DAMAGE_DONE
Definition: SpellAuraDefines.h:76
#define sSpellMgr
Definition: SpellMgr.h:825
@ EFFECT_0
Definition: SharedDefines.h:30
@ EFFECT_2
Definition: SharedDefines.h:32
@ SPELL_SCHOOL_MASK_SPELL
Definition: SharedDefines.h:280
Definition: ItemTemplate.h:599
int32 SpellId
Definition: ItemTemplate.h:600
Definition: SpellInfo.h:314
std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > Effects
Definition: SpellInfo.h:391

References EFFECT_0, EFFECT_2, SpellInfo::Effects, MAX_ITEM_PROTO_SPELLS, SPELL_AURA_MOD_DAMAGE_DONE, SPELL_AURA_MOD_DAMAGE_TAKEN, SPELL_AURA_MOD_HEALING, SPELL_AURA_MOD_HEALING_DONE, SPELL_AURA_MOD_SPELL_DAMAGE_OF_ATTACK_POWER, SPELL_AURA_MOD_SPELL_DAMAGE_OF_STAT_PERCENT, SPELL_AURA_MOD_SPELL_HEALING_OF_ATTACK_POWER, SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT, SPELL_SCHOOL_MASK_SPELL, _Spell::SpellId, and sSpellMgr.

Referenced by Player::CanRollForItemInLFG().

◆ HasStat()

bool ItemTemplate::HasStat ( ItemModType  stat) const
343{
344 for (uint8 i = 0; i < MAX_ITEM_PROTO_STATS; ++i)
345 {
346 if (i >= StatsCount)
347 {
348 break;
349 }
350
351 if (ItemStat[i].ItemStatType == stat)
352 {
353 return true;
354 }
355 }
356
357 return false;
358}
#define MAX_ITEM_PROTO_STATS
Definition: ItemTemplate.h:625
_ItemStat ItemStat[MAX_ITEM_PROTO_STATS]
Definition: ItemTemplate.h:657
uint32 StatsCount
Definition: ItemTemplate.h:656

References ItemStat, MAX_ITEM_PROTO_STATS, and StatsCount.

Referenced by Player::CanRollForItemInLFG().

◆ InitializeQueryData()

void ItemTemplate::InitializeQueryData ( )
407{
409
410 queryData << ItemId;
411 queryData << Class;
414 queryData << Name1;
415 queryData << uint8(0x00); //pProto->Name2; // blizz not send name there, just uint8(0x00); <-- \0 = empty string = empty name...
416 queryData << uint8(0x00); //pProto->Name3; // blizz not send name there, just uint8(0x00);
417 queryData << uint8(0x00); //pProto->Name4; // blizz not send name there, just uint8(0x00);
420 queryData << Flags;
421 queryData << Flags2;
439 queryData << StatsCount; // item stats count
440 for (uint32 i = 0; i < StatsCount; ++i)
441 {
444 }
445 queryData << ScalingStatDistribution; // scaling stats distribution
446 queryData << ScalingStatValue; // some kind of flags used to determine stat values column
447 for (int i = 0; i < MAX_ITEM_PROTO_DAMAGES; ++i)
448 {
452 }
453
454 // resistances (7)
455 queryData << Armor;
462
463 queryData << Delay;
466
467 for (int s = 0; s < MAX_ITEM_PROTO_SPELLS; ++s)
468 {
469 // send DBC data for cooldowns in same way as it used in Spell::SendSpellCooldown
470 // use `item_template` or if not set then only use spell cooldowns
471 SpellInfo const* spell = sSpellMgr->GetSpellInfo(Spells[s].SpellId);
472 if (spell)
473 {
474 bool db_data = Spells[s].SpellCooldown >= 0 || Spells[s].SpellCategoryCooldown >= 0;
475
476 queryData << Spells[s].SpellId;
477 queryData << Spells[s].SpellTrigger;
478 queryData << int32(Spells[s].SpellCharges);
479
480 if (db_data)
481 {
484 queryData << uint32(Spells[s].SpellCategoryCooldown);
485 }
486 else
487 {
488 queryData << uint32(spell->RecoveryTime);
489 queryData << uint32(spell->GetCategory());
491 }
492 }
493 else
494 {
495 queryData << uint32(0);
496 queryData << uint32(0);
497 queryData << uint32(0);
498 queryData << uint32(-1);
499 queryData << uint32(0);
500 queryData << uint32(-1);
501 }
502 }
509 queryData << LockID;
511 queryData << Sheath;
514 queryData << Block;
517 queryData << Area;
518 queryData << Map; // Added in 1.12.x & 2.0.1 client branch
521 for (int s = 0; s < MAX_ITEM_PROTO_SOCKETS; ++s)
522 {
523 queryData << Socket[s].Color;
524 queryData << Socket[s].Content;
525 }
530 queryData << Duration; // added in 2.4.2.8209, duration (seconds)
531 queryData << ItemLimitCategory; // WotLK, ItemLimitCategory
532 queryData << HolidayId; // Holiday.dbc?
533}
#define MAX_ITEM_PROTO_SOCKETS
Definition: ItemTemplate.h:623
#define MAX_ITEM_PROTO_DAMAGES
Definition: ItemTemplate.h:622
SpellCategory
Definition: SharedDefines.h:314
@ SMSG_ITEM_QUERY_SINGLE_RESPONSE
Definition: Opcodes.h:118
float DamageMin
Definition: ItemTemplate.h:588
uint32 DamageType
Definition: ItemTemplate.h:590
float DamageMax
Definition: ItemTemplate.h:589
int32 ItemStatValue
Definition: ItemTemplate.h:596
uint32 ItemStatType
Definition: ItemTemplate.h:595
int32 RandomProperty
Definition: ItemTemplate.h:681
int32 FrostRes
Definition: ItemTemplate.h:665
uint32 Map
Definition: ItemTemplate.h:687
uint32 Block
Definition: ItemTemplate.h:683
int32 ArcaneRes
Definition: ItemTemplate.h:667
uint32 RequiredCityRank
Definition: ItemTemplate.h:650
uint32 RequiredSkill
Definition: ItemTemplate.h:646
int32 ShadowRes
Definition: ItemTemplate.h:666
uint32 RequiredSpell
Definition: ItemTemplate.h:648
int32 MaxCount
Definition: ItemTemplate.h:653
uint32 ScalingStatValue
Definition: ItemTemplate.h:659
std::string Description
Definition: ItemTemplate.h:673
uint32 AllowableClass
Definition: ItemTemplate.h:642
uint32 RequiredSkillRank
Definition: ItemTemplate.h:647
uint32 RequiredHonorRank
Definition: ItemTemplate.h:649
int32 HolyRes
Definition: ItemTemplate.h:662
float RangedModRange
Definition: ItemTemplate.h:670
uint32 Sheath
Definition: ItemTemplate.h:680
float ArmorDamageModifier
Definition: ItemTemplate.h:694
int32 Material
Definition: ItemTemplate.h:679
uint32 Area
Definition: ItemTemplate.h:686
int32 BuyPrice
Definition: ItemTemplate.h:639
uint32 socketBonus
Definition: ItemTemplate.h:691
uint32 RequiredDisenchantSkill
Definition: ItemTemplate.h:693
uint32 TotemCategory
Definition: ItemTemplate.h:689
uint32 PageMaterial
Definition: ItemTemplate.h:676
uint32 RequiredLevel
Definition: ItemTemplate.h:645
std::string Name1
Definition: ItemTemplate.h:633
uint32 LockID
Definition: ItemTemplate.h:678
uint32 ItemSet
Definition: ItemTemplate.h:684
uint32 HolidayId
Definition: ItemTemplate.h:697
uint32 GemProperties
Definition: ItemTemplate.h:692
uint32 RequiredReputationRank
Definition: ItemTemplate.h:652
WorldPacket queryData
Definition: ItemTemplate.h:704
uint32 ContainerSlots
Definition: ItemTemplate.h:655
uint32 DisplayInfoID
Definition: ItemTemplate.h:634
uint32 AllowableRace
Definition: ItemTemplate.h:643
uint32 RequiredReputationFaction
Definition: ItemTemplate.h:651
uint32 ItemLimitCategory
Definition: ItemTemplate.h:696
uint32 PageText
Definition: ItemTemplate.h:674
uint32 ScalingStatDistribution
Definition: ItemTemplate.h:658
int32 NatureRes
Definition: ItemTemplate.h:664
uint32 MaxDurability
Definition: ItemTemplate.h:685
uint32 BagFamily
Definition: ItemTemplate.h:688
uint32 InventoryType
Definition: ItemTemplate.h:641
uint32 LanguageID
Definition: ItemTemplate.h:675
uint32 AmmoType
Definition: ItemTemplate.h:669
uint32 Flags2
Definition: ItemTemplate.h:637
int32 RandomSuffix
Definition: ItemTemplate.h:682
uint32 Duration
Definition: ItemTemplate.h:695
uint32 Armor
Definition: ItemTemplate.h:661
uint32 StartQuest
Definition: ItemTemplate.h:677
int32 SoundOverrideSubclass
Definition: ItemTemplate.h:632
int32 FireRes
Definition: ItemTemplate.h:663
uint32 Bonding
Definition: ItemTemplate.h:672
uint32 SellPrice
Definition: ItemTemplate.h:640
Definition: Player.h:200
void Initialize(uint16 opcode, size_t newres=200)
Definition: WorldPacket.h:69
uint32 GetCategory() const
Definition: SpellInfo.cpp:864
uint32 RecoveryTime
Definition: SpellInfo.h:346
uint32 CategoryRecoveryTime
Definition: SpellInfo.h:347
Definition: Socket.h:39

References AllowableClass, AllowableRace, AmmoType, ArcaneRes, Area, Armor, ArmorDamageModifier, BagFamily, Block, Bonding, BuyPrice, SpellInfo::CategoryRecoveryTime, Class, ContainerSlots, Damage, _Damage::DamageMax, _Damage::DamageMin, _Damage::DamageType, Delay, Description, DisplayInfoID, Duration, FireRes, Flags, Flags2, FrostRes, GemProperties, SpellInfo::GetCategory(), HolidayId, HolyRes, WorldPacket::Initialize(), InventoryType, ItemId, ItemLevel, ItemLimitCategory, ItemSet, ItemStat, _ItemStat::ItemStatType, _ItemStat::ItemStatValue, LanguageID, LockID, Map, Material, MAX_ITEM_PROTO_DAMAGES, MAX_ITEM_PROTO_SOCKETS, MAX_ITEM_PROTO_SPELLS, MaxCount, MaxDurability, Name1, NatureRes, PageMaterial, PageText, Quality, queryData, RandomProperty, RandomSuffix, RangedModRange, SpellInfo::RecoveryTime, RequiredCityRank, RequiredDisenchantSkill, RequiredHonorRank, RequiredLevel, RequiredReputationFaction, RequiredReputationRank, RequiredSkill, RequiredSkillRank, RequiredSpell, ScalingStatDistribution, ScalingStatValue, SellPrice, ShadowRes, Sheath, SMSG_ITEM_QUERY_SINGLE_RESPONSE, socketBonus, SoundOverrideSubclass, sSpellMgr, Stackable, StartQuest, StatsCount, SubClass, and TotemCategory.

◆ IsArmorVellum()

bool ItemTemplate::IsArmorVellum ( ) const
inline
@ ITEM_SUBCLASS_ARMOR_ENCHANTMENT
Definition: ItemTemplate.h:448
@ ITEM_CLASS_TRADE_GOODS
Definition: ItemTemplate.h:307

References Class, ITEM_CLASS_TRADE_GOODS, ITEM_SUBCLASS_ARMOR_ENCHANTMENT, and SubClass.

Referenced by Item::IsArmorVellum(), and Item::IsFitToSpellRequirements().

◆ IsConjuredConsumable()

bool ItemTemplate::IsConjuredConsumable ( ) const
inline
@ ITEM_FLAG_CONJURED
Definition: ItemTemplate.h:149

References Class, Flags, ITEM_CLASS_CONSUMABLE, and ITEM_FLAG_CONJURED.

Referenced by Item::IsConjuredConsumable().

◆ IsCurrencyToken()

bool ItemTemplate::IsCurrencyToken ( ) const
inline

◆ IsPotion()

bool ItemTemplate::IsPotion ( ) const
inline
@ ITEM_SUBCLASS_POTION
Definition: ItemTemplate.h:324

References Class, ITEM_CLASS_CONSUMABLE, ITEM_SUBCLASS_POTION, and SubClass.

Referenced by Item::IsPotion().

◆ IsWeaponVellum()

bool ItemTemplate::IsWeaponVellum ( ) const
inline

Member Data Documentation

◆ AllowableClass

◆ AllowableRace

◆ AmmoType

uint32 ItemTemplate::AmmoType

◆ ArcaneRes

◆ Area

◆ Armor

◆ ArmorDamageModifier

float ItemTemplate::ArmorDamageModifier

◆ BagFamily

◆ Block

◆ Bonding

◆ BuyCount

◆ BuyPrice

◆ Class

◆ ContainerSlots

◆ Damage

◆ Delay

◆ Description

std::string ItemTemplate::Description

◆ DisenchantID

◆ DisplayInfoID

◆ Duration

◆ FireRes

◆ Flags

◆ Flags2

◆ FlagsCu

◆ FoodType

uint32 ItemTemplate::FoodType

Referenced by Pet::HaveInDiet().

◆ FrostRes

◆ GemProperties

◆ HolidayId

◆ HolyRes

◆ InventoryType

◆ ItemId

◆ ItemLevel

◆ ItemLimitCategory

◆ ItemSet

◆ ItemStat

◆ LanguageID

uint32 ItemTemplate::LanguageID

◆ LockID

◆ Map

◆ Material

int32 ItemTemplate::Material

◆ MaxCount

◆ MaxDurability

◆ MaxMoneyLoot

uint32 ItemTemplate::MaxMoneyLoot

Referenced by Player::SendLoot().

◆ MinMoneyLoot

uint32 ItemTemplate::MinMoneyLoot

Referenced by Player::SendLoot().

◆ Name1

◆ NatureRes

◆ PageMaterial

uint32 ItemTemplate::PageMaterial

◆ PageText

◆ Quality

◆ queryData

WorldPacket ItemTemplate::queryData

Referenced by InitializeQueryData().

◆ RandomProperty

◆ RandomSuffix

◆ RangedModRange

float ItemTemplate::RangedModRange

◆ RequiredCityRank

uint32 ItemTemplate::RequiredCityRank

◆ RequiredDisenchantSkill

◆ RequiredHonorRank

uint32 ItemTemplate::RequiredHonorRank

◆ RequiredLevel

◆ RequiredReputationFaction

◆ RequiredReputationRank

◆ RequiredSkill

◆ RequiredSkillRank

◆ RequiredSpell

◆ ScalingStatDistribution

◆ ScalingStatValue

◆ ScriptId

uint32 ItemTemplate::ScriptId

◆ SellPrice

◆ ShadowRes

◆ Sheath

◆ Socket

◆ socketBonus

◆ SoundOverrideSubclass

int32 ItemTemplate::SoundOverrideSubclass

◆ Spells

◆ Stackable

◆ StartQuest

◆ StatsCount

◆ SubClass

◆ TotemCategory