AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
BattlegroundUtils.h File Reference
#include "Battleground.h"

Go to the source code of this file.

Functions

uint32 GetMinPlayersPerTeam (Battleground *bg, PvPDifficultyEntry const *bracketEntry)
 
uint32 GetLowLevelsMinPlayersOverride (BattlegroundTypeId bgTypeId)
 

Function Documentation

◆ GetLowLevelsMinPlayersOverride()

uint32 GetLowLevelsMinPlayersOverride ( BattlegroundTypeId  bgTypeId)
23{
24 uint32 perBg = 0;
25 switch (bgTypeId)
26 {
33 default: break;
34 }
35 return perBg ? perBg : sWorld->getIntConfig(CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS);
36}
std::uint32_t uint32
Definition Define.h:107
@ BATTLEGROUND_IC
Definition SharedDefines.h:3748
@ BATTLEGROUND_WS
Definition SharedDefines.h:3738
@ BATTLEGROUND_EY
Definition SharedDefines.h:3743
@ BATTLEGROUND_AV
Definition SharedDefines.h:3737
@ BATTLEGROUND_SA
Definition SharedDefines.h:3745
@ BATTLEGROUND_AB
Definition SharedDefines.h:3739
@ CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_IC
Definition WorldConfig.h:273
@ CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_SA
Definition WorldConfig.h:272
@ CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_WS
Definition WorldConfig.h:269
@ CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS
Definition WorldConfig.h:267
@ CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_AB
Definition WorldConfig.h:270
@ CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_AV
Definition WorldConfig.h:268
@ CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_EY
Definition WorldConfig.h:271
#define sWorld
Definition World.h:318

References BATTLEGROUND_AB, BATTLEGROUND_AV, BATTLEGROUND_EY, BATTLEGROUND_IC, BATTLEGROUND_SA, BATTLEGROUND_WS, CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS, CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_AB, CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_AV, CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_EY, CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_IC, CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_SA, CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS_WS, and sWorld.

Referenced by Battleground::GetMinPlayersPerTeam(), GetMinPlayersPerTeam(), TEST_F(), TEST_F(), and TEST_F().

◆ GetMinPlayersPerTeam()

uint32 GetMinPlayersPerTeam ( Battleground bg,
PvPDifficultyEntry const *  bracketEntry 
)
5{
6 // The problem addressed here is that methods such as bg->GetMinLevel() and bg->GetMaxLevel() have a different meaning
7 // according to whether the BG is a template (then it's the value from the `battleground_template` table)
8 // or if it's the real BG (then it's the specific bracket minimum level, e.g. "60" for "60-69").
9
10 if (!bg->isTemplate() || bg->isArena())
11 {
12 return bg->GetMinPlayersPerTeam();
13 }
14
15 auto maxPlayerLevel = sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL);
16 auto isMaxLevel = bracketEntry->minLevel <= maxPlayerLevel && maxPlayerLevel <= bracketEntry->maxLevel;
17 auto lowLevelsOverride = GetLowLevelsMinPlayersOverride(bg->GetBgTypeID());
18
19 return (lowLevelsOverride && !isMaxLevel) ? lowLevelsOverride : bg->GetMinPlayersPerTeam();
20}
uint32 GetLowLevelsMinPlayersOverride(BattlegroundTypeId bgTypeId)
Definition BattlegroundUtils.cpp:22
@ CONFIG_MAX_PLAYER_LEVEL
Definition WorldConfig.h:195
uint32 GetMinPlayersPerTeam() const
Definition Battleground.cpp:248
bool isArena() const
Definition Battleground.h:412
bool isTemplate() const
Definition Battleground.h:341
BattlegroundTypeId GetBgTypeID(bool GetRandom=false) const
Definition Battleground.h:329

References CONFIG_MAX_PLAYER_LEVEL, Battleground::GetBgTypeID(), GetLowLevelsMinPlayersOverride(), Battleground::GetMinPlayersPerTeam(), Battleground::isArena(), Battleground::isTemplate(), PvPDifficultyEntry::maxLevel, PvPDifficultyEntry::minLevel, and sWorld.

Referenced by BattlegroundQueue::BattlegroundQueueAnnouncerUpdate(), BattlegroundQueue::BattlegroundQueueUpdate(), BattlegroundQueue::SendMessageBGQueue(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().