diff options
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 1466deda61d..0ea0f832405 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -2666,6 +2666,7 @@ void ObjectMgr::LoadItemTemplates() itemTemplate.MaxMoneyLoot = 0; itemTemplate.FlagsCu = 0; itemTemplate.SpellPPMRate = 0.0f; + itemTemplate.ItemSpecClassMask = 0; if (std::vector<ItemSpecOverrideEntry const*> const* itemSpecOverrides = sDB2Manager.GetItemSpecOverrides(sparse->ID)) { @@ -2699,8 +2700,13 @@ void ObjectMgr::LoadItemTemplates() continue; if (ChrSpecializationEntry const* specialization = sChrSpecializationStore.LookupEntry(itemSpec->SpecID)) + { if ((1 << (specialization->ClassID - 1)) & sparse->AllowableClass) + { + itemTemplate.ItemSpecClassMask |= 1 << (specialization->ClassID - 1); itemTemplate.Specializations[itemSpec->MaxLevel > 40].insert(itemSpec->SpecID); + } + } } } } |