diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-09-14 20:49:38 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-09-14 20:49:38 +0200 |
commit | f19f32f2a49cf0eb235f1aa12106322bf9db2a15 (patch) | |
tree | 1c01c7b4f087777b9e57d039bf40e3987957dc35 /src/server/game/Loot/Loot.cpp | |
parent | d0a5d04c4c8f17ecd0ba6efaa114da051d303155 (diff) |
Core/Loot: Store references to Loot objects directly in players loot view map instead of guids of world objects holding that loot
Diffstat (limited to 'src/server/game/Loot/Loot.cpp')
-rw-r--r-- | src/server/game/Loot/Loot.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Loot/Loot.cpp b/src/server/game/Loot/Loot.cpp index 70d3da25e8f..f1355edda87 100644 --- a/src/server/game/Loot/Loot.cpp +++ b/src/server/game/Loot/Loot.cpp @@ -29,6 +29,7 @@ #include "Player.h" #include "Random.h" #include "World.h" +#include "WorldSession.h" // // --------- LootItem --------- @@ -151,7 +152,11 @@ void Loot::clear() delete itr->second; PlayerNonQuestNonFFAConditionalItems.clear(); + for (ObjectGuid playerGuid : PlayersLooting) + if (Player* player = ObjectAccessor::FindConnectedPlayer(playerGuid)) + player->GetSession()->DoLootRelease(this); PlayersLooting.clear(); + items.clear(); quest_items.clear(); gold = 0; |