diff options
Diffstat (limited to 'src/server/game/Handlers/LootHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/LootHandler.cpp | 14 |
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); +} |