diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-07-12 00:00:08 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-07-12 00:00:08 +0200 |
commit | 0e61ea0b1ab17210b0cbc135408ffb501a2dc5fe (patch) | |
tree | 145ba370fd084548a82ef9e09361e45815233d8c | |
parent | 6d79a4cd68abffa33392d09b62d16a90803a92a3 (diff) |
Core/Loot: Add aoe loot target cap same as on official servers (50 corpses)
-rw-r--r-- | src/server/game/Handlers/LootHandler.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Server/Packets/LootPackets.h | 4 |
2 files changed, 5 insertions, 3 deletions
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<Creature*> corpses; if (aeLootEnabled) { - Trinity::CreatureListSearcher<AELootCreatureCheck> 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<LootRequest, 1000> Loot; + Array<LootRequest, 100> Loot; bool IsSoftInteract = false; }; @@ -103,7 +103,7 @@ namespace WorldPackets void Read() override; - Array<LootRequest, 1000> Loot; + Array<LootRequest, 100> Loot; ObjectGuid Target; }; |