diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index deb24cb9f3..c8063ccb81 100755 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -1075,7 +1075,9 @@ void LootTemplate::LootGroup::Process(Loot& loot, uint16 lootMode) const if (item == NULL && !EqualPossibleDrops.empty()) // If nothing selected yet - an item is taken from equal-chanced part { itemSource = 2; - item = const_cast(&SelectRandomContainerElement(EqualPossibleDrops)); + itr = EqualPossibleDrops.begin(); + std::advance(itr, irand(0, EqualPossibleDrops.size()-1)); + item = &*itr; } // finish rolling