aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Loot/Loot.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-09-14 20:49:38 +0200
committerShauren <shauren.trinity@gmail.com>2022-09-14 20:49:38 +0200
commitf19f32f2a49cf0eb235f1aa12106322bf9db2a15 (patch)
tree1c01c7b4f087777b9e57d039bf40e3987957dc35 /src/server/game/Loot/Loot.cpp
parentd0a5d04c4c8f17ecd0ba6efaa114da051d303155 (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.cpp5
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;