diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp index 695caeb7282..c048c4887d0 100644 --- a/src/server/game/Handlers/LootHandler.cpp +++ b/src/server/game/Handlers/LootHandler.cpp @@ -234,8 +234,10 @@ void WorldSession::HandleLootOpcode(WorldPackets::Loot::LootUnit& packet) std::vector corpses; if (aeLootEnabled) { - Trinity::CreatureListSearcher searcher(_player, corpses, check); + Trinity::CreatureListSearcher searcher(_player, corpses, check); Cell::VisitGridObjects(_player, searcher, AELootCreatureCheck::LootDistance); + if (corpses.size() > 49) + corpses.resize(49); // lootTarget is 50th, not in corpses vector } if (!corpses.empty()) diff --git a/src/server/game/Server/Packets/LootPackets.h b/src/server/game/Server/Packets/LootPackets.h index d8c5608cdda..1065d4905be 100644 --- a/src/server/game/Server/Packets/LootPackets.h +++ b/src/server/game/Server/Packets/LootPackets.h @@ -92,7 +92,7 @@ namespace WorldPackets void Read() override; - Array Loot; + Array Loot; bool IsSoftInteract = false; }; @@ -103,7 +103,7 @@ namespace WorldPackets void Read() override; - Array Loot; + Array Loot; ObjectGuid Target; };