aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp6
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);
+ }
+ }
}
}
}