aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/LootHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/LootHandler.cpp')
-rw-r--r--src/server/game/Handlers/LootHandler.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp
index fe6cb4674bc..34649e80e1c 100644
--- a/src/server/game/Handlers/LootHandler.cpp
+++ b/src/server/game/Handlers/LootHandler.cpp
@@ -482,3 +482,17 @@ void WorldSession::HandleLootMasterGiveOpcode(WorldPacket& recvData)
loot->NotifyItemRemoved(slotid);
--loot->unlootedCount;
}
+
+void WorldSession::HandleSetLootSpecialization(WorldPackets::Loot::SetLootSpecialization& packet)
+{
+ if (packet.SpecID)
+ {
+ if (ChrSpecializationEntry const* chrSpec = sChrSpecializationStore.LookupEntry(packet.SpecID))
+ {
+ if (chrSpec->ClassID == GetPlayer()->getClass())
+ GetPlayer()->SetLootSpecId(packet.SpecID);
+ }
+ }
+ else
+ GetPlayer()->SetLootSpecId(packet.SpecID);
+}