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
 
bool HasFlag (ItemFlags flag) const
 
bool HasFlag2 (ItemFlags2 flag) const
 
bool HasFlagCu (ItemFlagsCustom flag) const
 
void InitializeQueryData ()
 

Public Attributes

uint32 ItemId
 
uint32 Class
 
uint32 SubClass
 
int32 SoundOverrideSubclass
 
std::string Name1
 
uint32 DisplayInfoID
 
uint32 Quality
 
ItemFlags Flags
 
ItemFlags2 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
 
ItemFlagsCustom FlagsCu
 
WorldPacket queryData
 

Detailed Description

Member Function Documentation

◆ CanChangeEquipStateInCombat()

bool ItemTemplate::CanChangeEquipStateInCombat ( ) const
inline
708 {
709 switch (InventoryType)
710 {
711 case INVTYPE_RELIC:
712 case INVTYPE_SHIELD:
713 case INVTYPE_HOLDABLE:
714 return true;
715 }
716
717 switch (Class)
718 {
721 return true;
722 }
723
724 return false;
725 }
InventoryType
Definition ItemTemplate.h:255
@ INVTYPE_HOLDABLE
Definition ItemTemplate.h:279
@ INVTYPE_RELIC
Definition ItemTemplate.h:284
@ INVTYPE_SHIELD
Definition ItemTemplate.h:270
@ ITEM_CLASS_PROJECTILE
Definition ItemTemplate.h:297
@ ITEM_CLASS_WEAPON
Definition ItemTemplate.h:293
uint32 Class
Definition ItemTemplate.h:621

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
735 {
736 if (Delay == 0)
737 return 0;
738 float temp = 0;
739 for (auto i : Damage)
740 temp += i.DamageMin + i.DamageMax;
741 return temp * 500 / Delay;
742 }
_Damage Damage[MAX_ITEM_PROTO_DAMAGES]
Definition ItemTemplate.h:651
uint32 Delay
Definition ItemTemplate.h:659

References Damage, and Delay.

Referenced by getFeralBonus().

◆ getFeralBonus()

int32 ItemTemplate::getFeralBonus ( int32  extraDPS = 0) const
inline
745 {
746 constexpr uint32 feralApEnabledInventoryTypeMaks = 1 << INVTYPE_WEAPON | 1 << INVTYPE_2HWEAPON | 1 << INVTYPE_WEAPONMAINHAND | 1 << INVTYPE_WEAPONOFFHAND;
747
748 // 0x02A5F3 - is mask for Melee weapon from ItemSubClassMask.dbc
749 if (Class == ITEM_CLASS_WEAPON && (1 << InventoryType) & feralApEnabledInventoryTypeMaks)
750 {
751 int32 bonus = int32((extraDPS + getDPS()) * 14.0f) - 767;
752 if (bonus < 0)
753 return 0;
754 return bonus;
755 }
756 return 0;
757 }
std::int32_t int32
Definition Define.h:103
std::uint32_t uint32
Definition Define.h:107
@ INVTYPE_WEAPON
Definition ItemTemplate.h:269
@ INVTYPE_WEAPONMAINHAND
Definition ItemTemplate.h:277
@ INVTYPE_WEAPONOFFHAND
Definition ItemTemplate.h:278
@ INVTYPE_2HWEAPON
Definition ItemTemplate.h:273
float getDPS() const
Definition ItemTemplate.h:734

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
760 {
761 auto itemLevel = (float)ItemLevel;
762 switch (Quality)
763 {
767 itemLevel -= 26.0f;
768 break;
770 itemLevel -= 13.0f;
771 break;
773 itemLevel = pLevel * 2.33f;
774 break;
778 default:
779 break;
780 }
781 return std::max<float>(0.f, itemLevel);
782 }
@ ITEM_QUALITY_UNCOMMON
Definition SharedDefines.h:331
@ ITEM_QUALITY_RARE
Definition SharedDefines.h:332
@ ITEM_QUALITY_NORMAL
Definition SharedDefines.h:330
@ ITEM_QUALITY_LEGENDARY
Definition SharedDefines.h:334
@ ITEM_QUALITY_HEIRLOOM
Definition SharedDefines.h:336
@ ITEM_QUALITY_POOR
Definition SharedDefines.h:329
@ ITEM_QUALITY_ARTIFACT
Definition SharedDefines.h:335
@ ITEM_QUALITY_EPIC
Definition SharedDefines.h:333
uint32 Quality
Definition ItemTemplate.h:626
uint32 ItemLevel
Definition ItemTemplate.h:635

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
785 {
786 const static uint32 item_weapon_skills[MAX_ITEM_SUBCLASS_WEAPON] =
787 {
793 };
794
795 const static uint32 item_armor_skills[MAX_ITEM_SUBCLASS_ARMOR] =
796 {
798 };
799
800 switch (Class)
801 {
804 return 0;
805 else
806 return item_weapon_skills[SubClass];
807
808 case ITEM_CLASS_ARMOR:
810 return 0;
811 else
812 return item_armor_skills[SubClass];
813
814 default:
815 return 0;
816 }
817 }
#define MAX_ITEM_SUBCLASS_ARMOR
Definition ItemTemplate.h:403
@ ITEM_CLASS_ARMOR
Definition ItemTemplate.h:295
#define MAX_ITEM_SUBCLASS_WEAPON
Definition ItemTemplate.h:371
@ SKILL_BOWS
Definition SharedDefines.h:2873
@ SKILL_MACES
Definition SharedDefines.h:2877
@ SKILL_PLATE_MAIL
Definition SharedDefines.h:2951
@ SKILL_LEATHER
Definition SharedDefines.h:2963
@ SKILL_WANDS
Definition SharedDefines.h:2941
@ SKILL_GUNS
Definition SharedDefines.h:2874
@ SKILL_SHIELD
Definition SharedDefines.h:2965
@ SKILL_CROSSBOWS
Definition SharedDefines.h:2940
@ SKILL_THROWN
Definition SharedDefines.h:2914
@ SKILL_FISHING
Definition SharedDefines.h:2957
@ SKILL_SWORDS
Definition SharedDefines.h:2871
@ SKILL_DAGGERS
Definition SharedDefines.h:2913
@ SKILL_2H_AXES
Definition SharedDefines.h:2912
@ SKILL_CLOTH
Definition SharedDefines.h:2964
@ SKILL_POLEARMS
Definition SharedDefines.h:2942
@ SKILL_2H_SWORDS
Definition SharedDefines.h:2878
@ SKILL_MAIL
Definition SharedDefines.h:2962
@ SKILL_FIST_WEAPONS
Definition SharedDefines.h:2966
@ SKILL_2H_MACES
Definition SharedDefines.h:2906
@ SKILL_AXES
Definition SharedDefines.h:2872
@ SKILL_STAVES
Definition SharedDefines.h:2894
@ SKILL_ASSASSINATION
Definition SharedDefines.h:2946
uint32 SubClass
Definition ItemTemplate.h:622

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(), and AuctionHouseUsablePlayerInfo::PlayerCanUseItem().

◆ HasFlag()

◆ HasFlag2()

bool ItemTemplate::HasFlag2 ( ItemFlags2  flag) const
inline
828{ return (Flags2 & flag) != 0; }
ItemFlags2 Flags2
Definition ItemTemplate.h:628

References Flags2.

Referenced by LootItem::AllowedForPlayer(), Player::BuyItemFromVendorSlot(), Player::CanUseItem(), VendorItem::IsGoldRequired(), and Group::NeedBeforeGreed().

◆ HasFlagCu()

bool ItemTemplate::HasFlagCu ( ItemFlagsCustom  flag) const
inline
829{ return (FlagsCu & flag) != 0; }
ItemFlagsCustom FlagsCu
Definition ItemTemplate.h:694

References FlagsCu.

Referenced by LootItem::AllowedForPlayer(), LootItem::LootItem(), and Player::UpdateItemDuration().

◆ HasSignature()

bool ItemTemplate::HasSignature ( ) const
inline
699 {
700 return GetMaxStackSize() == 1 &&
704 ItemId != 6948; /*Hearthstone*/
705 }
@ ITEM_FLAG_NO_CREATOR
Definition ItemTemplate.h:164
@ ITEM_CLASS_QUEST
Definition ItemTemplate.h:303
@ ITEM_CLASS_CONSUMABLE
Definition ItemTemplate.h:291
uint32 GetMaxStackSize() const
Definition ItemTemplate.h:729
bool HasFlag(ItemFlags flag) const
Definition ItemTemplate.h:827
uint32 ItemId
Definition ItemTemplate.h:620

References Class, GetMaxStackSize(), HasFlag(), 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}
Spells
Definition BattlegroundIC.h:712
std::uint8_t uint8
Definition Define.h:109
#define MAX_ITEM_PROTO_SPELLS
Definition ItemTemplate.h:615
@ EFFECT_0
Definition SharedDefines.h:31
@ EFFECT_2
Definition SharedDefines.h:33
@ SPELL_SCHOOL_MASK_SPELL
Definition SharedDefines.h:308
@ 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
Definition SpellInfo.h:316
std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > Effects
Definition SpellInfo.h:393
Definition ItemTemplate.h:590
int32 SpellId
Definition ItemTemplate.h:591

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:616
_ItemStat ItemStat[MAX_ITEM_PROTO_STATS]
Definition ItemTemplate.h:648
uint32 StatsCount
Definition ItemTemplate.h:647

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:614
#define MAX_ITEM_PROTO_DAMAGES
Definition ItemTemplate.h:613
SpellCategory
Definition SharedDefines.h:342
Definition Socket.h:52
uint32 GetCategory() const
Definition SpellInfo.cpp:871
uint32 RecoveryTime
Definition SpellInfo.h:348
uint32 CategoryRecoveryTime
Definition SpellInfo.h:349
void Initialize(uint16 opcode, std::size_t newres=200)
Definition WorldPacket.h:68
@ SMSG_ITEM_QUERY_SINGLE_RESPONSE
Definition Opcodes.h:118
int32 RandomProperty
Definition ItemTemplate.h:672
int32 FrostRes
Definition ItemTemplate.h:656
uint32 Map
Definition ItemTemplate.h:678
uint32 Block
Definition ItemTemplate.h:674
int32 ArcaneRes
Definition ItemTemplate.h:658
uint32 RequiredCityRank
Definition ItemTemplate.h:641
uint32 RequiredSkill
Definition ItemTemplate.h:637
int32 ShadowRes
Definition ItemTemplate.h:657
uint32 RequiredSpell
Definition ItemTemplate.h:639
int32 MaxCount
Definition ItemTemplate.h:644
uint32 ScalingStatValue
Definition ItemTemplate.h:650
std::string Description
Definition ItemTemplate.h:664
uint32 AllowableClass
Definition ItemTemplate.h:633
uint32 RequiredSkillRank
Definition ItemTemplate.h:638
uint32 RequiredHonorRank
Definition ItemTemplate.h:640
int32 HolyRes
Definition ItemTemplate.h:653
float RangedModRange
Definition ItemTemplate.h:661
uint32 Sheath
Definition ItemTemplate.h:671
float ArmorDamageModifier
Definition ItemTemplate.h:685
int32 Material
Definition ItemTemplate.h:670
uint32 Area
Definition ItemTemplate.h:677
int32 BuyPrice
Definition ItemTemplate.h:630
uint32 socketBonus
Definition ItemTemplate.h:682
uint32 RequiredDisenchantSkill
Definition ItemTemplate.h:684
uint32 TotemCategory
Definition ItemTemplate.h:680
uint32 PageMaterial
Definition ItemTemplate.h:667
uint32 RequiredLevel
Definition ItemTemplate.h:636
std::string Name1
Definition ItemTemplate.h:624
uint32 LockID
Definition ItemTemplate.h:669
uint32 ItemSet
Definition ItemTemplate.h:675
uint32 HolidayId
Definition ItemTemplate.h:688
uint32 GemProperties
Definition ItemTemplate.h:683
uint32 RequiredReputationRank
Definition ItemTemplate.h:643
WorldPacket queryData
Definition ItemTemplate.h:695
uint32 ContainerSlots
Definition ItemTemplate.h:646
uint32 DisplayInfoID
Definition ItemTemplate.h:625
uint32 AllowableRace
Definition ItemTemplate.h:634
uint32 RequiredReputationFaction
Definition ItemTemplate.h:642
uint32 ItemLimitCategory
Definition ItemTemplate.h:687
uint32 PageText
Definition ItemTemplate.h:665
uint32 ScalingStatDistribution
Definition ItemTemplate.h:649
int32 NatureRes
Definition ItemTemplate.h:655
uint32 MaxDurability
Definition ItemTemplate.h:676
uint32 BagFamily
Definition ItemTemplate.h:679
uint32 InventoryType
Definition ItemTemplate.h:632
uint32 LanguageID
Definition ItemTemplate.h:666
uint32 AmmoType
Definition ItemTemplate.h:660
int32 RandomSuffix
Definition ItemTemplate.h:673
uint32 Duration
Definition ItemTemplate.h:686
uint32 Armor
Definition ItemTemplate.h:652
uint32 StartQuest
Definition ItemTemplate.h:668
int32 SoundOverrideSubclass
Definition ItemTemplate.h:623
int32 FireRes
Definition ItemTemplate.h:654
uint32 Bonding
Definition ItemTemplate.h:663
uint32 SellPrice
Definition ItemTemplate.h:631
Definition Player.h:199
float DamageMin
Definition ItemTemplate.h:579
uint32 DamageType
Definition ItemTemplate.h:581
float DamageMax
Definition ItemTemplate.h:580
int32 ItemStatValue
Definition ItemTemplate.h:587
uint32 ItemStatType
Definition ItemTemplate.h:586

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:439
@ ITEM_CLASS_TRADE_GOODS
Definition ItemTemplate.h:298

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:148

References Class, HasFlag(), 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:315

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

ItemFlagsCustom ItemTemplate::FlagsCu

Referenced by HasFlagCu().

◆ 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


The documentation for this struct was generated from the following files: