TrinityCore
lfg::LFGMgr Class Reference

#include <LFGMgr.h>

Public Member Functions

 LFGMgr (LFGMgr const &right)=delete
 
 LFGMgr (LFGMgr &&right)=delete
 
LFGMgroperator= (LFGMgr const &right)=delete
 
LFGMgroperator= (LFGMgr &&right)=delete
 
void Update (uint32 diff)
 
void OnDungeonEncounterDone (ObjectGuid gguid, std::array< uint32, 4 > const &dungeonEncounterId, Map const *currMap)
 Check dungeon completion on encounter completion. More...
 
void FinishDungeon (ObjectGuid gguid, uint32 dungeonId, Map const *currMap)
 Finish the dungeon for the given group. All check are performed using internal lfg data. More...
 
void LoadRewards ()
 Loads rewards for random dungeons. More...
 
void LoadLFGDungeons (bool reload=false)
 Loads dungeons from dbc and adds teleport coords. More...
 
bool selectedRandomLfgDungeon (ObjectGuid guid)
 Check if given guid applied for random dungeon. More...
 
bool inLfgDungeonMap (ObjectGuid guid, uint32 map, Difficulty difficulty)
 Check if given guid applied for given map and difficulty. Used to know. More...
 
LfgDungeonSet const & GetSelectedDungeons (ObjectGuid guid)
 Get selected dungeons. More...
 
uint32 GetSelectedRandomDungeon (ObjectGuid guid)
 Get selected random dungeon. More...
 
LfgState GetState (ObjectGuid guid)
 Get current lfg state. More...
 
bool IsVoteKickActive (ObjectGuid gguid)
 Get current vote kick state. More...
 
uint32 GetDungeon (ObjectGuid guid, bool asId=true)
 Get current dungeon. More...
 
uint32 GetDungeonMapId (ObjectGuid guid)
 Get the map id of the current dungeon. More...
 
uint8 GetKicksLeft (ObjectGuid gguid)
 Get kicks left in current group. More...
 
void _LoadFromDB (Field *fields, ObjectGuid guid)
 Load Lfg group info from DB. More...
 
void SetupGroupMember (ObjectGuid guid, ObjectGuid gguid)
 Initializes player data after loading group data from DB. More...
 
uint32 GetLFGDungeonEntry (uint32 id)
 Return Lfg dungeon entry for given dungeon id. More...
 
uint8 GetRoles (ObjectGuid guid)
 Get current player roles. More...
 
uint32 GetOptions ()
 Gets current lfg options. More...
 
void SetOptions (uint32 options)
 Sets new lfg options. More...
 
bool isOptionEnabled (uint32 option)
 Checks if given lfg option is enabled. More...
 
void Clean ()
 Clears queue - Only for internal testing. More...
 
std::string DumpQueueInfo (bool full=false)
 Dumps the state of the queue - Only for internal testing. More...
 
ObjectGuid GetLeader (ObjectGuid guid)
 Get leader of the group (using internal data) More...
 
void SetTeam (ObjectGuid guid, uint8 team)
 Sets player team. More...
 
void SetGroup (ObjectGuid guid, ObjectGuid group)
 Sets player group. More...
 
ObjectGuid GetGroup (ObjectGuid guid)
 Gets player group. More...
 
void SetLeader (ObjectGuid gguid, ObjectGuid leader)
 Sets the leader of the group. More...
 
void RemoveGroupData (ObjectGuid guid)
 Removes saved group data. More...
 
uint8 RemovePlayerFromGroup (ObjectGuid gguid, ObjectGuid guid)
 Removes a player from a group. More...
 
void AddPlayerToGroup (ObjectGuid gguid, ObjectGuid guid)
 Adds player to group. More...
 
LfgLockMap GetLockedDungeons (ObjectGuid guid)
 Get locked dungeons. More...
 
LfgUpdateData GetLfgStatus (ObjectGuid guid)
 Returns current lfg status. More...
 
bool IsSeasonActive (uint32 dungeonId)
 Checks if Seasonal dungeon is active. More...
 
LfgReward const * GetRandomDungeonReward (uint32 dungeon, uint8 level)
 Gets the random dungeon reward corresponding to given dungeon and player level. More...
 
LfgDungeonSet GetRandomAndSeasonalDungeons (uint8 level, uint8 expansion, uint32 contentTuningReplacementConditionMask)
 Returns all random and seasonal dungeons for given level and expansion. More...
 
void TeleportPlayer (Player *player, bool out, bool fromOpcode=false)
 Teleport a player to/from selected dungeon. More...
 
void InitBoot (ObjectGuid gguid, ObjectGuid kguid, ObjectGuid vguid, std::string const &reason)
 Inits new proposal to boot a player. More...
 
void UpdateBoot (ObjectGuid guid, bool accept)
 Updates player boot proposal with new player answer. More...
 
void UpdateProposal (uint32 proposalId, ObjectGuid guid, bool accept)
 Updates proposal to join dungeon with player answer. More...
 
void UpdateRoleCheck (ObjectGuid gguid, ObjectGuid guid=ObjectGuid::Empty, uint8 roles=PLAYER_ROLE_NONE)
 Updates the role check with player answer. More...
 
void SetRoles (ObjectGuid guid, uint8 roles)
 Sets player lfg roles. More...
 
void JoinLfg (Player *player, uint8 roles, LfgDungeonSet &dungeons)
 Join Lfg with selected roles, dungeons and comment. More...
 
void LeaveLfg (ObjectGuid guid, bool disconnected=false)
 Leaves lfg. More...
 
WorldPackets::LFG::RideTicket const * GetTicket (ObjectGuid guid) const
 Gets unique join queue data. More...
 
LfgState GetOldState (ObjectGuid guid)
 Get last lfg state (NONE, DUNGEON or FINISHED_DUNGEON) More...
 
bool IsLfgGroup (ObjectGuid guid)
 Check if given group guid is lfg. More...
 
uint8 GetPlayerCount (ObjectGuid guid)
 Gets the player count of given group. More...
 
uint32 AddProposal (LfgProposal &proposal)
 Add a new Proposal. More...
 
uint8 GetQueueId (ObjectGuid guid)
 Returns queue id. More...
 
bool AllQueued (GuidList const &check)
 Checks if all players are queued. More...
 
time_t GetQueueJoinTime (ObjectGuid guid)
 Gets queue join time. More...
 

Static Public Member Functions

static LFGMgrinstance ()
 
static bool CheckGroupRoles (LfgRolesMap &groles)
 Checks if given roles match, modifies given roles map with new roles. More...
 
static bool HasIgnore (ObjectGuid guid1, ObjectGuid guid2)
 Checks if given players are ignoring each other. More...
 
static void SendLfgQueueStatus (ObjectGuid guid, LfgQueueStatusData const &data)
 Sends queue status to player. More...
 

Private Member Functions

 LFGMgr ()
 
 ~LFGMgr ()
 
uint8 GetTeam (ObjectGuid guid)
 
uint8 FilterClassRoles (Player *player, uint8 roles)
 
void RestoreState (ObjectGuid guid, char const *debugMsg)
 
void ClearState (ObjectGuid guid, char const *debugMsg)
 
void SetDungeon (ObjectGuid guid, uint32 dungeon)
 
void SetSelectedDungeons (ObjectGuid guid, LfgDungeonSet const &dungeons)
 
void DecreaseKicksLeft (ObjectGuid guid)
 
void SetTicket (ObjectGuid guid, WorldPackets::LFG::RideTicket const &ticket)
 
void SetState (ObjectGuid guid, LfgState state)
 
void SetVoteKick (ObjectGuid gguid, bool active)
 
void RemovePlayerData (ObjectGuid guid)
 
void GetCompatibleDungeons (LfgDungeonSet *dungeons, GuidSet const &players, LfgLockPartyMap *lockMap, std::vector< std::string const * > *playersMissingRequirement, bool isContinue)
 
void _SaveToDB (ObjectGuid guid, uint32 db_guid)
 
LFGDungeonData const * GetLFGDungeon (uint32 id)
 
void RemoveProposal (LfgProposalContainer::iterator itProposal, LfgUpdateType type)
 
void MakeNewGroup (LfgProposal const &proposal)
 
LFGQueueGetQueue (ObjectGuid guid)
 
LfgDungeonSet const & GetDungeonsByRandom (uint32 randomdungeon)
 
LfgType GetDungeonType (uint32 dungeon)
 
void SendLfgBootProposalUpdate (ObjectGuid guid, LfgPlayerBoot const &boot)
 
void SendLfgJoinResult (ObjectGuid guid, LfgJoinResultData const &data)
 
void SendLfgRoleChosen (ObjectGuid guid, ObjectGuid pguid, uint8 roles)
 
void SendLfgRoleCheckUpdate (ObjectGuid guid, LfgRoleCheck const &roleCheck)
 
void SendLfgUpdateStatus (ObjectGuid guid, LfgUpdateData const &data, bool party)
 
void SendLfgUpdateProposal (ObjectGuid guid, LfgProposal const &proposal)
 
GuidSet const & GetPlayers (ObjectGuid guid)
 

Private Attributes

uint32 m_QueueTimer
 
uint32 m_lfgProposalId
 used to check interval of update More...
 
uint32 m_options
 used as internal counter for proposals More...
 
LfgQueueContainer QueuesStore
 Stores config options. More...
 
LfgCachedDungeonContainer CachedDungeonMapStore
 Queues. More...
 
LfgRewardContainer RewardMapStore
 Stores all dungeons by groupType. More...
 
LFGDungeonContainer LfgDungeonStore
 Stores rewards for random dungeons. More...
 
LfgRoleCheckContainer RoleChecksStore
 
LfgProposalContainer ProposalsStore
 Current Role checks. More...
 
LfgPlayerBootContainer BootsStore
 Current Proposals. More...
 
LfgPlayerDataContainer PlayersStore
 Current player kicks. More...
 
LfgGroupDataContainer GroupsStore
 Player data. More...
 

Detailed Description

Definition at line 315 of file LFGMgr.h.

Constructor & Destructor Documentation

◆ LFGMgr() [1/3]

lfg::LFGMgr::LFGMgr ( )
private

Definition at line 60 of file LFGMgr.cpp.

◆ ~LFGMgr()

lfg::LFGMgr::~LFGMgr ( )
private

Definition at line 65 of file LFGMgr.cpp.

◆ LFGMgr() [2/3]

lfg::LFGMgr::LFGMgr ( LFGMgr const &  right)
delete

◆ LFGMgr() [3/3]

lfg::LFGMgr::LFGMgr ( LFGMgr &&  right)
delete

Member Function Documentation

◆ _LoadFromDB()

void lfg::LFGMgr::_LoadFromDB ( Field fields,
ObjectGuid  guid 
)

Load Lfg group info from DB.

Definition at line 71 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ _SaveToDB()

void lfg::LFGMgr::_SaveToDB ( ObjectGuid  guid,
uint32  db_guid 
)
private

Definition at line 100 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddPlayerToGroup()

void lfg::LFGMgr::AddPlayerToGroup ( ObjectGuid  gguid,
ObjectGuid  guid 
)

Adds player to group.

Definition at line 1949 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ AddProposal()

uint32 lfg::LFGMgr::AddProposal ( LfgProposal proposal)

Add a new Proposal.

Definition at line 1040 of file LFGMgr.cpp.

◆ AllQueued()

bool lfg::LFGMgr::AllQueued ( GuidList const &  check)

Checks if all players are queued.

Definition at line 2067 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ CheckGroupRoles()

bool lfg::LFGMgr::CheckGroupRoles ( LfgRolesMap groles)
static

Checks if given roles match, modifies given roles map with new roles.

Check if a group can be formed with the given group roles

Parameters
[in]grolesMap of roles to check
Returns
True if roles are compatible

Definition at line 880 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Clean()

void lfg::LFGMgr::Clean ( )

Clears queue - Only for internal testing.

Definition at line 2097 of file LFGMgr.cpp.

◆ ClearState()

void lfg::LFGMgr::ClearState ( ObjectGuid  guid,
char const *  debugMsg 
)
private

◆ DecreaseKicksLeft()

void lfg::LFGMgr::DecreaseKicksLeft ( ObjectGuid  guid)
private

Definition at line 1886 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DumpQueueInfo()

std::string lfg::LFGMgr::DumpQueueInfo ( bool  full = false)

Dumps the state of the queue - Only for internal testing.

Definition at line 2139 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ FilterClassRoles()

uint8 lfg::LFGMgr::FilterClassRoles ( Player player,
uint8  roles 
)
private

Definition at line 1934 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FinishDungeon()

void lfg::LFGMgr::FinishDungeon ( ObjectGuid  gguid,
uint32  dungeonId,
Map const *  currMap 
)

Finish the dungeon for the given group. All check are performed using internal lfg data.

Finish a dungeon and give reward, if any.

Parameters
[in]gguidGroup guid
[in]dungeonIdDungeonid

Definition at line 1474 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetCompatibleDungeons()

void lfg::LFGMgr::GetCompatibleDungeons ( LfgDungeonSet dungeons,
GuidSet const &  players,
LfgLockPartyMap lockMap,
std::vector< std::string const * > *  playersMissingRequirement,
bool  isContinue 
)
private

Given a list of dungeons remove the dungeons players have restrictions.

Parameters
[in,out]dungeonsDungeons to check restrictions
[in]playersSet of players to check their dungeon restrictions
[out]lockMapMap of players Lock status info of given dungeons (Empty if dungeons is not empty)

Definition at line 820 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDungeon()

uint32 lfg::LFGMgr::GetDungeon ( ObjectGuid  guid,
bool  asId = true 
)

Get current dungeon.

Definition at line 1679 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDungeonMapId()

uint32 lfg::LFGMgr::GetDungeonMapId ( ObjectGuid  guid)

Get the map id of the current dungeon.

Definition at line 1686 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ GetDungeonsByRandom()

LfgDungeonSet const & lfg::LFGMgr::GetDungeonsByRandom ( uint32  randomdungeon)
private

Get the dungeon list that can be done given a random dungeon entry.

Parameters
[in]randomdungeonRandom dungeon id (if value = 0 will return all dungeons)
Returns
Set of dungeons that can be done.

Definition at line 1591 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDungeonType()

LfgType lfg::LFGMgr::GetDungeonType ( uint32  dungeonId)
private

Given a Dungeon id returns the dungeon Type

Parameters
[in]dungeondungeon id
Returns
Dungeon type

Definition at line 1626 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetGroup()

ObjectGuid lfg::LFGMgr::GetGroup ( ObjectGuid  guid)

Gets player group.

Definition at line 1967 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ GetKicksLeft()

uint8 lfg::LFGMgr::GetKicksLeft ( ObjectGuid  gguid)

Get kicks left in current group.

Definition at line 1806 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ GetLeader()

ObjectGuid lfg::LFGMgr::GetLeader ( ObjectGuid  guid)

Get leader of the group (using internal data)

Definition at line 1987 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ GetLFGDungeon()

LFGDungeonData const * lfg::LFGMgr::GetLFGDungeon ( uint32  id)
private

Definition at line 181 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ GetLFGDungeonEntry()

uint32 lfg::LFGMgr::GetLFGDungeonEntry ( uint32  id)

Return Lfg dungeon entry for given dungeon id.

Definition at line 2194 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetLfgStatus()

LfgUpdateData lfg::LFGMgr::GetLfgStatus ( ObjectGuid  guid)

Returns current lfg status.

Definition at line 2117 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ GetLockedDungeons()

LfgLockMap lfg::LFGMgr::GetLockedDungeons ( ObjectGuid  guid)

Get locked dungeons.

Definition at line 1728 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetOldState()

LfgState lfg::LFGMgr::GetOldState ( ObjectGuid  guid)

Get last lfg state (NONE, DUNGEON or FINISHED_DUNGEON)

Definition at line 1652 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetOptions()

uint32 lfg::LFGMgr::GetOptions ( )

Gets current lfg options.

Definition at line 2107 of file LFGMgr.cpp.

◆ GetPlayerCount()

uint8 lfg::LFGMgr::GetPlayerCount ( ObjectGuid  guid)

Gets the player count of given group.

Definition at line 1982 of file LFGMgr.cpp.

◆ GetPlayers()

GuidSet const & lfg::LFGMgr::GetPlayers ( ObjectGuid  guid)
private

Definition at line 1977 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ GetQueue()

LFGQueue & lfg::LFGMgr::GetQueue ( ObjectGuid  guid)
private

Definition at line 2061 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetQueueId()

uint8 lfg::LFGMgr::GetQueueId ( ObjectGuid  guid)

Returns queue id.

Definition at line 2048 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetQueueJoinTime()

time_t lfg::LFGMgr::GetQueueJoinTime ( ObjectGuid  guid)

Gets queue join time.

Definition at line 2086 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ GetRandomAndSeasonalDungeons()

LfgDungeonSet lfg::LFGMgr::GetRandomAndSeasonalDungeons ( uint8  level,
uint8  expansion,
uint32  contentTuningReplacementConditionMask 
)

Returns all random and seasonal dungeons for given level and expansion.

Definition at line 2203 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ GetRandomDungeonReward()

LfgReward const * lfg::LFGMgr::GetRandomDungeonReward ( uint32  dungeon,
uint8  level 
)

Gets the random dungeon reward corresponding to given dungeon and player level.

Get the reward of a given random dungeon at a certain level

Parameters
[in]dungeondungeon id
[in]levelPlayer level
Returns
Reward

Definition at line 1605 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ GetRoles()

uint8 lfg::LFGMgr::GetRoles ( ObjectGuid  guid)

Get current player roles.

Definition at line 1699 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSelectedDungeons()

LfgDungeonSet const & lfg::LFGMgr::GetSelectedDungeons ( ObjectGuid  guid)

Get selected dungeons.

Definition at line 1706 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSelectedRandomDungeon()

uint32 lfg::LFGMgr::GetSelectedRandomDungeon ( ObjectGuid  guid)

Get selected random dungeon.

Definition at line 1712 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ GetState()

LfgState lfg::LFGMgr::GetState ( ObjectGuid  guid)

Get current lfg state.

Definition at line 1635 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTeam()

uint8 lfg::LFGMgr::GetTeam ( ObjectGuid  guid)
private

Definition at line 1927 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTicket()

WorldPackets::LFG::RideTicket const * lfg::LFGMgr::GetTicket ( ObjectGuid  guid) const

Gets unique join queue data.

Definition at line 705 of file LFGMgr.cpp.

◆ HasIgnore()

bool lfg::LFGMgr::HasIgnore ( ObjectGuid  guid1,
ObjectGuid  guid2 
)
static

Checks if given players are ignoring each other.

Definition at line 1992 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ InitBoot()

void lfg::LFGMgr::InitBoot ( ObjectGuid  gguid,
ObjectGuid  kicker,
ObjectGuid  victim,
std::string const &  reason 
)

Inits new proposal to boot a player.

Initialize a boot kick vote

Parameters
[in]gguidGroup the vote kicks belongs to
[in]kickerKicker guid
[in]victimVictim guid
[in]reasonKick reason

Definition at line 1262 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ inLfgDungeonMap()

bool lfg::LFGMgr::inLfgDungeonMap ( ObjectGuid  guid,
uint32  map,
Difficulty  difficulty 
)

Check if given guid applied for given map and difficulty. Used to know.

Definition at line 2181 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ instance()

LFGMgr * lfg::LFGMgr::instance ( )
static

Definition at line 282 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsLfgGroup()

bool lfg::LFGMgr::IsLfgGroup ( ObjectGuid  guid)

Check if given group guid is lfg.

Definition at line 2043 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ isOptionEnabled()

bool lfg::LFGMgr::isOptionEnabled ( uint32  option)

Checks if given lfg option is enabled.

Definition at line 2102 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ IsSeasonActive()

bool lfg::LFGMgr::IsSeasonActive ( uint32  dungeonId)

Checks if Seasonal dungeon is active.

Definition at line 2123 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsVoteKickActive()

bool lfg::LFGMgr::IsVoteKickActive ( ObjectGuid  gguid)

Get current vote kick state.

Definition at line 1669 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ JoinLfg()

void lfg::LFGMgr::JoinLfg ( Player player,
uint8  roles,
LfgDungeonSet dungeons 
)

Join Lfg with selected roles, dungeons and comment.

Adds the player/group to lfg queue. If player is in a group then it is the leader of the group tying to join the group. Join conditions are checked before adding to the new queue.

Parameters
[in]playerPlayer trying to join (or leader of group trying to join)
[in]rolesPlayer selected roles
[in]dungeonsDungeons the player/group is applying for

Definition at line 399 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ LeaveLfg()

void lfg::LFGMgr::LeaveLfg ( ObjectGuid  guid,
bool  disconnected = false 
)

Leaves lfg.

Leaves Dungeon System. Player/Group is removed from queue, rolechecks, proposals or votekicks. Player or group needs to be not NULL and using Dungeon System

Parameters
[in]guidPlayer or group guid

Definition at line 629 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ LoadLFGDungeons()

void lfg::LFGMgr::LoadLFGDungeons ( bool  reload = false)

Loads dungeons from dbc and adds teleport coords.

Definition at line 190 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ LoadRewards()

void lfg::LFGMgr::LoadRewards ( )

Loads rewards for random dungeons.

Load rewards for completing dungeons.

Definition at line 121 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ MakeNewGroup()

void lfg::LFGMgr::MakeNewGroup ( LfgProposal const &  proposal)
private

Makes a new group given a proposal

Parameters
[in]proposalProposal to get info from

Definition at line 947 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OnDungeonEncounterDone()

void lfg::LFGMgr::OnDungeonEncounterDone ( ObjectGuid  gguid,
std::array< uint32, 4 > const &  dungeonEncounterIds,
Map const *  currMap 
)

Check dungeon completion on encounter completion.

Check if dungeon can be rewarded, if any.

Parameters
[in]gguidGroup guid
[in]dungeonEncounterIdsDungeonEncounter that was just completed
[in]currMapMap of the instance where encounter was completed

Definition at line 1451 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ operator=() [1/2]

LFGMgr & lfg::LFGMgr::operator= ( LFGMgr &&  right)
delete

◆ operator=() [2/2]

LFGMgr & lfg::LFGMgr::operator= ( LFGMgr const &  right)
delete

◆ RemoveGroupData()

void lfg::LFGMgr::RemoveGroupData ( ObjectGuid  guid)

Removes saved group data.

Definition at line 1905 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ RemovePlayerData()

void lfg::LFGMgr::RemovePlayerData ( ObjectGuid  guid)
private

Definition at line 1897 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ RemovePlayerFromGroup()

uint8 lfg::LFGMgr::RemovePlayerFromGroup ( ObjectGuid  gguid,
ObjectGuid  guid 
)

Removes a player from a group.

Definition at line 1944 of file LFGMgr.cpp.

◆ RemoveProposal()

void lfg::LFGMgr::RemoveProposal ( LfgProposalContainer::iterator  itProposal,
LfgUpdateType  type 
)
private

Remove a proposal from the pool, remove the group that didn't accept (if needed) and readd the other members to the queue

Parameters
[in]itProposalIterator to the proposal to remove
[in]typeType of removal (LFG_UPDATETYPE_PROPOSAL_FAILED, LFG_UPDATETYPE_PROPOSAL_DECLINED)

Definition at line 1162 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RestoreState()

void lfg::LFGMgr::RestoreState ( ObjectGuid  guid,
char const *  debugMsg 
)
private

Definition at line 1813 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ selectedRandomLfgDungeon()

bool lfg::LFGMgr::selectedRandomLfgDungeon ( ObjectGuid  guid)

Check if given guid applied for random dungeon.

Definition at line 2165 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ SendLfgBootProposalUpdate()

void lfg::LFGMgr::SendLfgBootProposalUpdate ( ObjectGuid  guid,
LfgPlayerBoot const &  boot 
)
private

Definition at line 2025 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendLfgJoinResult()

void lfg::LFGMgr::SendLfgJoinResult ( ObjectGuid  guid,
LfgJoinResultData const &  data 
)
private

Definition at line 2019 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendLfgQueueStatus()

void lfg::LFGMgr::SendLfgQueueStatus ( ObjectGuid  guid,
LfgQueueStatusData const &  data 
)
static

Sends queue status to player.

Definition at line 2037 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendLfgRoleCheckUpdate()

void lfg::LFGMgr::SendLfgRoleCheckUpdate ( ObjectGuid  guid,
LfgRoleCheck const &  roleCheck 
)
private

Definition at line 2007 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendLfgRoleChosen()

void lfg::LFGMgr::SendLfgRoleChosen ( ObjectGuid  guid,
ObjectGuid  pguid,
uint8  roles 
)
private

Definition at line 2001 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendLfgUpdateProposal()

void lfg::LFGMgr::SendLfgUpdateProposal ( ObjectGuid  guid,
LfgProposal const &  proposal 
)
private

Definition at line 2031 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendLfgUpdateStatus()

void lfg::LFGMgr::SendLfgUpdateStatus ( ObjectGuid  guid,
LfgUpdateData const &  data,
bool  party 
)
private

Definition at line 2013 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetDungeon()

void lfg::LFGMgr::SetDungeon ( ObjectGuid  guid,
uint32  dungeon 
)
private

Definition at line 1868 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetGroup()

void lfg::LFGMgr::SetGroup ( ObjectGuid  guid,
ObjectGuid  group 
)

Sets player group.

Definition at line 1972 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ SetLeader()

void lfg::LFGMgr::SetLeader ( ObjectGuid  gguid,
ObjectGuid  leader 
)

Sets the leader of the group.

Definition at line 1954 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ SetOptions()

void lfg::LFGMgr::SetOptions ( uint32  options)

Sets new lfg options.

Definition at line 2112 of file LFGMgr.cpp.

◆ SetRoles()

void lfg::LFGMgr::SetRoles ( ObjectGuid  guid,
uint8  roles 
)

Sets player lfg roles.

Definition at line 1874 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetSelectedDungeons()

void lfg::LFGMgr::SetSelectedDungeons ( ObjectGuid  guid,
LfgDungeonSet const &  dungeons 
)
private

Definition at line 1880 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetState()

void lfg::LFGMgr::SetState ( ObjectGuid  guid,
LfgState  state 
)
private

Definition at line 1835 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetTeam()

void lfg::LFGMgr::SetTeam ( ObjectGuid  guid,
uint8  team 
)

Sets player team.

Definition at line 1959 of file LFGMgr.cpp.

◆ SetTicket()

void lfg::LFGMgr::SetTicket ( ObjectGuid  guid,
WorldPackets::LFG::RideTicket const &  ticket 
)
private

Definition at line 1892 of file LFGMgr.cpp.

+ Here is the caller graph for this function:

◆ SetupGroupMember()

void lfg::LFGMgr::SetupGroupMember ( ObjectGuid  guid,
ObjectGuid  gguid 
)

Initializes player data after loading group data from DB.

Definition at line 2155 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ SetVoteKick()

void lfg::LFGMgr::SetVoteKick ( ObjectGuid  gguid,
bool  active 
)
private

Definition at line 1857 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TeleportPlayer()

void lfg::LFGMgr::TeleportPlayer ( Player player,
bool  out,
bool  fromOpcode = false 
)

Teleport a player to/from selected dungeon.

Teleports the player in or out the dungeon

Parameters
[in]playerPlayer to teleport
[in]outTeleport out (true) or in (false)
[in]fromOpcodeFunction called from opcode handlers? (Default false)

Definition at line 1359 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Update()

void lfg::LFGMgr::Update ( uint32  diff)

Definition at line 288 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ UpdateBoot()

void lfg::LFGMgr::UpdateBoot ( ObjectGuid  guid,
bool  accept 
)

Updates player boot proposal with new player answer.

Update Boot info with player answer

Parameters
[in]guidPlayer who has answered
[in]playeranswer

Definition at line 1295 of file LFGMgr.cpp.

+ Here is the call graph for this function:

◆ UpdateProposal()

void lfg::LFGMgr::UpdateProposal ( uint32  proposalId,
ObjectGuid  guid,
bool  accept 
)

Updates proposal to join dungeon with player answer.

Update Proposal info with player answer

Parameters
[in]proposalIdProposal id to be updated
[in]guidPlayer guid to update answer
[in]acceptPlayer answer

Definition at line 1054 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateRoleCheck()

void lfg::LFGMgr::UpdateRoleCheck ( ObjectGuid  gguid,
ObjectGuid  guid = ObjectGuid::Empty,
uint8  roles = PLAYER_ROLE_NONE 
)

Updates the role check with player answer.

Update the Role check info with the player selected role.

Parameters
[in]grpGroup guid to update rolecheck
[in]guidPlayer guid (0 = rolecheck failed)
[in]rolesPlayer selected roles

Definition at line 721 of file LFGMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ BootsStore

LfgPlayerBootContainer lfg::LFGMgr::BootsStore
private

Current Proposals.

Definition at line 500 of file LFGMgr.h.

◆ CachedDungeonMapStore

LfgCachedDungeonContainer lfg::LFGMgr::CachedDungeonMapStore
private

Queues.

Definition at line 493 of file LFGMgr.h.

◆ GroupsStore

LfgGroupDataContainer lfg::LFGMgr::GroupsStore
private

Player data.

Definition at line 502 of file LFGMgr.h.

◆ LfgDungeonStore

LFGDungeonContainer lfg::LFGMgr::LfgDungeonStore
private

Stores rewards for random dungeons.

Definition at line 496 of file LFGMgr.h.

◆ m_lfgProposalId

uint32 lfg::LFGMgr::m_lfgProposalId
private

used to check interval of update

Definition at line 489 of file LFGMgr.h.

◆ m_options

uint32 lfg::LFGMgr::m_options
private

used as internal counter for proposals

Definition at line 490 of file LFGMgr.h.

◆ m_QueueTimer

uint32 lfg::LFGMgr::m_QueueTimer
private

Definition at line 488 of file LFGMgr.h.

◆ PlayersStore

LfgPlayerDataContainer lfg::LFGMgr::PlayersStore
private

Current player kicks.

Definition at line 501 of file LFGMgr.h.

◆ ProposalsStore

LfgProposalContainer lfg::LFGMgr::ProposalsStore
private

Current Role checks.

Definition at line 499 of file LFGMgr.h.

◆ QueuesStore

LfgQueueContainer lfg::LFGMgr::QueuesStore
private

Stores config options.

Definition at line 492 of file LFGMgr.h.

◆ RewardMapStore

LfgRewardContainer lfg::LFGMgr::RewardMapStore
private

Stores all dungeons by groupType.

Definition at line 495 of file LFGMgr.h.

◆ RoleChecksStore

LfgRoleCheckContainer lfg::LFGMgr::RoleChecksStore
private

Definition at line 498 of file LFGMgr.h.


The documentation for this class was generated from the following files: