aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Loot/Loot.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-09-14 22:03:47 +0200
committerShauren <shauren.trinity@gmail.com>2022-09-14 22:03:47 +0200
commit9700b2a78680452d80025121a031da340af51348 (patch)
tree817ceff3ae7c220addfa0a3ccc6cbb4429d7c658 /src/server/game/Loot/Loot.cpp
parentf19f32f2a49cf0eb235f1aa12106322bf9db2a15 (diff)
Core/Loot: Store method used at loot generation inside Loot object
Diffstat (limited to 'src/server/game/Loot/Loot.cpp')
-rw-r--r--src/server/game/Loot/Loot.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Loot/Loot.cpp b/src/server/game/Loot/Loot.cpp
index f1355edda87..a03c4a5e860 100644
--- a/src/server/game/Loot/Loot.cpp
+++ b/src/server/game/Loot/Loot.cpp
@@ -127,9 +127,9 @@ void LootItem::AddAllowedLooter(const Player* player)
// --------- Loot ---------
//
-Loot::Loot(Map* map, ObjectGuid owner, LootType type) : gold(0), unlootedCount(0), roundRobinPlayer(), loot_type(type), maxDuplicates(1),
+Loot::Loot(Map* map, ObjectGuid owner, LootType type, LootMethod lootMethod) : gold(0), unlootedCount(0), loot_type(type), maxDuplicates(1),
_guid(map ? ObjectGuid::Create<HighGuid::LootObject>(map->GetId(), 0, map->GenerateLowGuid<HighGuid::LootObject>()) : ObjectGuid::Empty),
- _owner(owner), _itemContext(ItemContext::NONE)
+ _owner(owner), _itemContext(ItemContext::NONE), _lootMethod(lootMethod)
{
}
@@ -742,7 +742,7 @@ NotNormalLootItemList* Loot::FillQuestLoot(Player const* player)
{
LootItem &item = quest_items[i];
- if (!item.is_looted && (item.AllowedForPlayer(player) || (item.follow_loot_rules && player->GetGroup() && ((player->GetGroup()->GetLootMethod() == MASTER_LOOT && player->GetGroup()->GetMasterLooterGuid() == player->GetGUID()) || player->GetGroup()->GetLootMethod() != MASTER_LOOT))))
+ if (!item.is_looted && (item.AllowedForPlayer(player) || (item.follow_loot_rules && player->GetGroup() && ((GetLootMethod() == MASTER_LOOT && player->GetGroup()->GetMasterLooterGuid() == player->GetGUID()) || GetLootMethod() != MASTER_LOOT))))
{
ql->push_back(NotNormalLootItem(i));
@@ -752,7 +752,7 @@ NotNormalLootItemList* Loot::FillQuestLoot(Player const* player)
// increase once if one looter only, looter-times if free for all
if (item.freeforall || !item.is_blocked)
++unlootedCount;
- if (!player->GetGroup() || (player->GetGroup()->GetLootMethod() != GROUP_LOOT))
+ if (!player->GetGroup() || (GetLootMethod() != GROUP_LOOT))
item.is_blocked = true;
if (items.size() + ql->size() == MAX_NR_LOOT_ITEMS)