aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Battlegrounds/BattlegroundMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-02-09 22:35:20 +0100
committerShauren <shauren.trinity@gmail.com>2025-02-09 22:35:20 +0100
commitafbde8800a3c9f74c3427f26ade5fd662bef9435 (patch)
tree348539019b508218def5c60bebdf0a3538a2df83 /src/server/game/Battlegrounds/BattlegroundMgr.cpp
parent2fd120da3206a067bc8c9ff88bfbeadc4b6f4641 (diff)
Core/Misc: Reduce code differences between branches
Diffstat (limited to 'src/server/game/Battlegrounds/BattlegroundMgr.cpp')
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.cpp26
1 files changed, 6 insertions, 20 deletions
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<ScheduledQueueUpdate> 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<BattlegroundTypeId> ids;
+ std::vector<BattlegroundTemplate const*> ids;
ids.reserve(bgTemplate->MapIDs.size());
- std::vector<double> 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;