6#ifndef SF_BATTLEGROUNDQUEUE_H
7#define SF_BATTLEGROUNDQUEUE_H
19#define COUNT_OF_PLAYERS_TO_AVERAGE_WAIT_TIME 10
30 std::map<uint64, PlayerQueueInfo*>
Players;
52#define BG_QUEUE_GROUP_TYPES_COUNT 4
BattlegroundQueueGroupTypes
@ BG_QUEUE_NORMAL_ALLIANCE
@ BG_QUEUE_PREMADE_ALLIANCE
#define BG_QUEUE_GROUP_TYPES_COUNT
#define COUNT_OF_PLAYERS_TO_AVERAGE_WAIT_TIME
std::list< Battleground * > BGFreeSlotQueueContainer
#define MAX_BATTLEGROUND_BRACKETS
virtual ~BGQueueInviteEvent()
BattlegroundTypeId m_BgTypeId
virtual bool Execute(uint64 e_time, uint32 p_time)
virtual void Abort(uint64 e_time)
BGQueueInviteEvent(uint64 pl_guid, uint32 BgInstanceGUID, BattlegroundTypeId BgTypeId, uint8 arenaType, uint32 removeTime)
virtual bool Execute(uint64 e_time, uint32 p_time)
virtual void Abort(uint64 e_time)
BattlegroundTypeId m_BgTypeId
BattlegroundQueueTypeId m_BgQueueTypeId
BGQueueRemoveEvent(uint64 pl_guid, uint32 bgInstanceGUID, BattlegroundTypeId BgTypeId, BattlegroundQueueTypeId bgQueueTypeId, uint32 removeTime)
virtual ~BGQueueRemoveEvent()
GroupsQueueType SelectedGroups
bool KickGroup(uint32 size)
bool AddGroup(GroupQueueInfo *ginfo, uint32 desiredCount)
uint32 GetPlayerCount() const
uint32 m_SumOfWaitTimes[BG_TEAMS_COUNT][MAX_BATTLEGROUND_BRACKETS]
void FillPlayersToBG(Battleground *bg, BattlegroundBracketId bracket_id)
void UpdateEvents(uint32 diff)
void PlayerInvitedToBGUpdateAverageWaitTime(GroupQueueInfo *ginfo, BattlegroundBracketId bracket_id)
uint32 m_WaitTimes[BG_TEAMS_COUNT][MAX_BATTLEGROUND_BRACKETS][COUNT_OF_PLAYERS_TO_AVERAGE_WAIT_TIME]
GroupQueueInfo * AddGroup(Player *leader, Group *group, BattlegroundTypeId bgTypeId, PvPDifficultyEntry const *bracketEntry, uint8 ArenaType, bool isRated, bool isPremade, uint32 ArenaRating, uint32 MatchmakerRating)
uint32 GetAverageQueueWaitTime(GroupQueueInfo *ginfo, BattlegroundBracketId bracket_id) const
QueuedPlayersMap m_QueuedPlayers
bool CheckNormalMatch(Battleground *bg_template, BattlegroundBracketId bracket_id, uint32 minPlayers, uint32 maxPlayers)
bool InviteGroupToBG(GroupQueueInfo *ginfo, Battleground *bg, uint32 side)
bool CheckSkirmishForSameFaction(BattlegroundBracketId bracket_id, uint32 minPlayersPerTeam)
bool GetPlayerGroupInfoData(uint64 guid, GroupQueueInfo *ginfo)
void BattlegroundQueueUpdate(uint32 diff, BattlegroundTypeId bgTypeId, BattlegroundBracketId bracket_id, uint8 arenaType=0, bool isRated=false, uint32 minRating=0)
bool IsPlayerInvited(uint64 pl_guid, const uint32 bgInstanceGuid, const uint32 removeTime)
std::deque< GroupQueueInfo * > GroupsQueueType
std::map< uint64, PlayerQueueInfo > QueuedPlayersMap
void RemovePlayer(uint64 guid, bool decreaseInvitedCount)
GroupsQueueType m_QueuedGroups[MAX_BATTLEGROUND_BRACKETS][BG_QUEUE_GROUP_TYPES_COUNT]
uint32 GetPlayersInQueue(TeamId id)
bool CheckPremadeMatch(BattlegroundBracketId bracket_id, uint32 MinPlayersPerTeam, uint32 MaxPlayersPerTeam)
uint32 m_WaitTimeLastPlayer[BG_TEAMS_COUNT][MAX_BATTLEGROUND_BRACKETS]
SelectionPool m_SelectionPools[BG_TEAMS_COUNT]
uint32 IsInvitedToBGInstanceGUID
std::map< uint64, PlayerQueueInfo * > Players
uint32 OpponentsMatchmakerRating
BattlegroundTypeId BgTypeId
uint32 OpponentsTeamRating
uint32 ArenaMatchmakerRating
GroupQueueInfo * GroupInfo