18#ifndef __BATTLEGROUNDQUEUE_H
19#define __BATTLEGROUNDQUEUE_H
29#define COUNT_OF_PLAYERS_TO_AVERAGE_WAIT_TIME 10
40 std::map<ObjectGuid, PlayerQueueInfo*>
Players;
61#define BG_QUEUE_GROUP_TYPES_COUNT 4
77 void BattlegroundQueueUpdate(
uint32 diff,
bool isRated =
false,
uint32 minRating = 0);
78 void UpdateEvents(
uint32 diff);
81 bool CheckPremadeMatch(
uint32 MinPlayersPerTeam,
uint32 MaxPlayersPerTeam);
83 bool CheckSkirmishForSameFaction(
uint32 minPlayersPerTeam);
85 void RemovePlayer(
ObjectGuid guid,
bool decreaseInvitedCount);
88 void PlayerInvitedToBGUpdateAverageWaitTime(
GroupQueueInfo* ginfo);
115 bool KickGroup(
uint32 size);
149 m_PlayerGuid(pl_guid), m_BgInstanceGUID(BgInstanceGUID), m_BgTypeId(BgTypeId), m_RemoveTime(removeTime), m_QueueId(queueId)
153 virtual bool Execute(
uint64 e_time,
uint32 p_time)
override;
154 virtual void Abort(
uint64 e_time)
override;
172 : m_PlayerGuid(pl_guid), m_BgInstanceGUID(bgInstanceGUID), m_RemoveTime(removeTime), m_BgQueueTypeId(bgQueueTypeId)
177 virtual bool Execute(
uint64 e_time,
uint32 p_time)
override;
178 virtual void Abort(
uint64 e_time)
override;
BattlegroundQueueInvitationType
@ BG_QUEUE_INVITATION_TYPE_NO_BALANCE
@ BG_QUEUE_INVITATION_TYPE_EVEN
@ BG_QUEUE_INVITATION_TYPE_BALANCED
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
uint8 constexpr PVP_TEAMS_COUNT
virtual ~BGQueueInviteEvent()
BattlegroundQueueTypeId m_QueueId
BattlegroundTypeId m_BgTypeId
BGQueueInviteEvent(ObjectGuid pl_guid, uint32 BgInstanceGUID, BattlegroundTypeId BgTypeId, uint32 removeTime, BattlegroundQueueTypeId queueId)
BattlegroundQueueTypeId m_BgQueueTypeId
BGQueueRemoveEvent(ObjectGuid pl_guid, uint32 bgInstanceGUID, BattlegroundQueueTypeId bgQueueTypeId, uint32 removeTime)
virtual ~BGQueueRemoveEvent()
GroupsQueueType SelectedGroups
uint32 GetPlayerCount() const
BattlegroundQueueTypeId GetQueueId() const
QueuedPlayersMap m_QueuedPlayers
BattlegroundQueueTypeId m_queueId
std::list< GroupQueueInfo * > GroupsQueueType
std::map< ObjectGuid, PlayerQueueInfo > QueuedPlayersMap
uint32 IsInvitedToBGInstanceGUID
std::map< ObjectGuid, PlayerQueueInfo * > Players
uint32 PreviousOpponentsTeamId
uint32 OpponentsMatchmakerRating
uint32 OpponentsTeamRating
uint32 ArenaMatchmakerRating
GroupQueueInfo * GroupInfo