From afbde8800a3c9f74c3427f26ade5fd662bef9435 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 9 Feb 2025 22:35:20 +0100 Subject: Core/Misc: Reduce code differences between branches --- src/server/game/Battlegrounds/BattlegroundMgr.cpp | 26 ++++++----------------- 1 file changed, 6 insertions(+), 20 deletions(-) (limited to 'src/server/game/Battlegrounds/BattlegroundMgr.cpp') diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp index 5a92041c536..61c0d01e2a7 100644 --- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp +++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp @@ -126,13 +126,8 @@ void BattlegroundMgr::Update(uint32 diff) std::vector scheduled; std::swap(scheduled, m_QueueUpdateScheduler); - for (uint8 i = 0; i < scheduled.size(); i++) - { - uint32 arenaMMRating = scheduled[i].ArenaMatchmakerRating; - BattlegroundQueueTypeId bgQueueTypeId = scheduled[i].QueueId; - BattlegroundBracketId bracket_id = scheduled[i].BracketId; + for (auto& [arenaMMRating, bgQueueTypeId, bracket_id] : scheduled) GetBattlegroundQueue(bgQueueTypeId).BattlegroundQueueUpdate(diff, bracket_id, arenaMMRating); - } } // if rating difference counts, maybe force-update queues @@ -499,7 +494,7 @@ bool BattlegroundMgr::IsRandomBattleground(uint32 battlemasterListId) BattlegroundQueueTypeId BattlegroundMgr::BGQueueTypeId(uint16 battlemasterListId, BattlegroundQueueIdType type, bool rated, uint8 teamSize) { - return { battlemasterListId, AsUnderlyingType(type), rated, teamSize }; + return { .BattlemasterListId = battlemasterListId, .Type = AsUnderlyingType(type), .Rated = rated, .TeamSize = teamSize }; } void BattlegroundMgr::ToggleTesting() @@ -687,23 +682,14 @@ BattlegroundTypeId BattlegroundMgr::GetRandomBG(BattlegroundTypeId bgTypeId) { if (BattlegroundTemplate const* bgTemplate = GetBattlegroundTemplateByTypeId(bgTypeId)) { - std::vector ids; + std::vector ids; ids.reserve(bgTemplate->MapIDs.size()); - std::vector weights; - weights.reserve(bgTemplate->MapIDs.size()); - double totalWeight = 0.0; for (int32 mapId : bgTemplate->MapIDs) - { if (BattlegroundTemplate const* bg = GetBattlegroundTemplateByMapId(mapId)) - { - ids.push_back(bg->Id); - weights.push_back(bg->Weight); - totalWeight += bg->Weight; - } - } + ids.push_back(bg); - if (totalWeight > 0.0) - return *Trinity::Containers::SelectRandomWeightedContainerElement(ids, std::span(weights)); + if (!ids.empty()) + return (*Trinity::Containers::SelectRandomWeightedContainerElement(ids, [](BattlegroundTemplate const* bg) { return bg->Weight; }))->Id; } return BATTLEGROUND_TYPE_NONE; -- cgit v1.2.3