diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-01-24 20:28:42 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-01-24 20:28:42 +0100 |
| commit | 5fed109cbfbdd9350a2928b66b5d89fe1f5e0ed3 (patch) | |
| tree | 487471a9d9631e6ab7ae17da905908ac99a8bb42 /src/server/game/Loot/LootMgr.cpp | |
| parent | 284b807af47fac32278dc1d1b3dce3da792d6d74 (diff) | |
Core/Loot: Implemented automatic assignment of Heroic/Mythic item bonuses when dropped in appropriate instance difficulty
Diffstat (limited to 'src/server/game/Loot/LootMgr.cpp')
| -rw-r--r-- | src/server/game/Loot/LootMgr.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index 487454c6e2f..b6a3cc3dd5e 100644 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -419,6 +419,12 @@ void LootItem::BuildItemInstance(WorldPackets::Item::ItemInstance& instance) con instance.ItemID = itemid; instance.RandomPropertiesSeed = randomSuffix; instance.RandomPropertiesID = randomPropertyId; + if (!BonusListIDs.empty()) + { + WorldPackets::Item::ItemBonusInstanceData bonusData; + instance.ItemBonus.Value.BonusListIDs = BonusListIDs; + instance.ItemBonus.HasValue = true; + } } // @@ -442,6 +448,12 @@ void Loot::AddItem(LootStoreItem const& item) { LootItem generatedLoot(item); generatedLoot.count = std::min(count, proto->GetMaxStackSize()); + if (_difficultyBonusTreeMod) + { + std::set<uint32> bonusListIDs = sDB2Manager.GetItemBonusTree(generatedLoot.itemid, _difficultyBonusTreeMod); + generatedLoot.BonusListIDs.insert(generatedLoot.BonusListIDs.end(), bonusListIDs.begin(), bonusListIDs.end()); + } + lootItems.push_back(generatedLoot); count -= proto->GetMaxStackSize(); @@ -469,6 +481,8 @@ bool Loot::FillLoot(uint32 lootId, LootStore const& store, Player* lootOwner, bo return false; } + _difficultyBonusTreeMod = lootOwner->GetMap()->GetDifficultyLootBonusTreeMod(); + items.reserve(MAX_NR_LOOT_ITEMS); quest_items.reserve(MAX_NR_QUEST_ITEMS); |
