![]() |
TrinityCore
|
#include <LFGMgr.h>
Public Member Functions | |
| LFGMgr (LFGMgr const &right)=delete | |
| LFGMgr (LFGMgr &&right)=delete | |
| LFGMgr & | operator= (LFGMgr const &right)=delete |
| LFGMgr & | operator= (LFGMgr &&right)=delete |
| void | Update (uint32 diff) |
| void | OnDungeonEncounterDone (ObjectGuid gguid, std::span< uint32 const > dungeonEncounters, Map const *currMap) |
| Check dungeon completion on encounter completion. | |
| void | FinishDungeon (ObjectGuid gguid, uint32 dungeonId, Map const *currMap) |
| Finish the dungeon for the given group. All check are performed using internal lfg data. | |
| void | LoadRewards () |
| Loads rewards for random dungeons. | |
| void | LoadLFGDungeons () |
| Loads dungeons from dbc and adds teleport coords. | |
| bool | selectedRandomLfgDungeon (ObjectGuid guid) |
| Check if given guid applied for random dungeon. | |
| bool | inLfgDungeonMap (ObjectGuid guid, uint32 map, Difficulty difficulty) |
| Check if given guid applied for given map and difficulty. Used to know. | |
| LfgDungeonSet const & | GetSelectedDungeons (ObjectGuid guid) |
| Get selected dungeons. | |
| uint32 | GetSelectedRandomDungeon (ObjectGuid guid) |
| Get selected random dungeon. | |
| LfgState | GetState (ObjectGuid guid) |
| Get current lfg state. | |
| bool | IsVoteKickActive (ObjectGuid gguid) |
| Get current vote kick state. | |
| uint32 | GetDungeon (ObjectGuid guid, bool asId=true) |
| Get current dungeon. | |
| uint32 | GetDungeonMapId (ObjectGuid guid) |
| Get the map id of the current dungeon. | |
| uint8 | GetKicksLeft (ObjectGuid gguid) |
| Get kicks left in current group. | |
| void | _LoadFromDB (Field *fields, ObjectGuid guid) |
| Load Lfg group info from DB. | |
| void | SetupGroupMember (ObjectGuid guid, ObjectGuid gguid) |
| Initializes player data after loading group data from DB. | |
| uint32 | GetLFGDungeonEntry (uint32 id) |
| Return Lfg dungeon entry for given dungeon id. | |
| uint8 | GetRoles (ObjectGuid guid) |
| Get current player roles. | |
| uint32 | GetOptions () |
| Gets current lfg options. | |
| void | SetOptions (uint32 options) |
| Sets new lfg options. | |
| bool | isOptionEnabled (uint32 option) |
| Checks if given lfg option is enabled. | |
| void | Clean () |
| Clears queue - Only for internal testing. | |
| std::string | DumpQueueInfo (bool full=false) |
| Dumps the state of the queue - Only for internal testing. | |
| ObjectGuid | GetLeader (ObjectGuid guid) |
| Get leader of the group (using internal data) | |
| void | SetTeam (ObjectGuid guid, uint8 team) |
| Sets player team. | |
| void | SetGroup (ObjectGuid guid, ObjectGuid group) |
| Sets player group. | |
| ObjectGuid | GetGroup (ObjectGuid guid) |
| Gets player group. | |
| void | SetLeader (ObjectGuid gguid, ObjectGuid leader) |
| Sets the leader of the group. | |
| void | RemoveGroupData (ObjectGuid guid) |
| Removes saved group data. | |
| uint8 | RemovePlayerFromGroup (ObjectGuid gguid, ObjectGuid guid) |
| Removes a player from a group. | |
| void | AddPlayerToGroup (ObjectGuid gguid, ObjectGuid guid) |
| Adds player to group. | |
| LfgLockMap | GetLockedDungeons (ObjectGuid guid) |
| Get locked dungeons. | |
| LfgUpdateData | GetLfgStatus (ObjectGuid guid) |
| Returns current lfg status. | |
| bool | IsSeasonActive (uint32 dungeonId) |
| Checks if Seasonal dungeon is active. | |
| LfgReward const * | GetRandomDungeonReward (uint32 dungeon, uint8 level) |
| Gets the random dungeon reward corresponding to given dungeon and player level. | |
| LfgDungeonSet | GetRandomAndSeasonalDungeons (uint8 level, uint8 expansion, std::span< uint32 const > contentTuningReplacementConditionMask) |
| Returns all random and seasonal dungeons for given level and expansion. | |
| void | TeleportPlayer (Player *player, bool out, bool fromOpcode=false) |
| Teleport a player to/from selected dungeon. | |
| void | InitBoot (ObjectGuid gguid, ObjectGuid kguid, ObjectGuid vguid, std::string const &reason) |
| Inits new proposal to boot a player. | |
| void | UpdateBoot (ObjectGuid guid, bool accept) |
| Updates player boot proposal with new player answer. | |
| void | UpdateProposal (uint32 proposalId, ObjectGuid guid, bool accept) |
| Updates proposal to join dungeon with player answer. | |
| void | UpdateRoleCheck (ObjectGuid gguid, ObjectGuid guid=ObjectGuid::Empty, uint8 roles=PLAYER_ROLE_NONE) |
| Updates the role check with player answer. | |
| void | SetRoles (ObjectGuid guid, uint8 roles) |
| Sets player lfg roles. | |
| void | JoinLfg (Player *player, uint8 roles, LfgDungeonSet &dungeons) |
| Join Lfg with selected roles, dungeons and comment. | |
| void | LeaveLfg (ObjectGuid guid, bool disconnected=false) |
| Leaves lfg. | |
| WorldPackets::LFG::RideTicket const * | GetTicket (ObjectGuid guid) const |
| Gets unique join queue data. | |
| LfgState | GetOldState (ObjectGuid guid) |
| Get last lfg state (NONE, DUNGEON or FINISHED_DUNGEON) | |
| bool | IsLfgGroup (ObjectGuid guid) |
| Check if given group guid is lfg. | |
| uint8 | GetPlayerCount (ObjectGuid guid) |
| Gets the player count of given group. | |
| uint32 | AddProposal (LfgProposal &proposal) |
| Add a new Proposal. | |
| uint8 | GetQueueId (ObjectGuid guid) |
| Returns queue id. | |
| bool | AllQueued (GuidList const &check) |
| Checks if all players are queued. | |
| time_t | GetQueueJoinTime (ObjectGuid guid) |
| Gets queue join time. | |
Static Public Member Functions | |
| static LFGMgr * | instance () |
| static bool | CheckGroupRoles (LfgRolesMap &groles) |
| Checks if given roles match, modifies given roles map with new roles. | |
| static bool | HasIgnore (ObjectGuid guid1, ObjectGuid guid2) |
| Checks if given players are ignoring each other. | |
| static void | SendLfgQueueStatus (ObjectGuid guid, LfgQueueStatusData const &data) |
| Sends queue status to player. | |
Private Attributes | |
| uint32 | m_QueueTimer |
| uint32 | m_lfgProposalId |
| used to check interval of update | |
| uint32 | m_options |
| used as internal counter for proposals | |
| LfgQueueContainer | QueuesStore |
| Stores config options. | |
| LfgCachedDungeonContainer | CachedDungeonMapStore |
| Queues. | |
| LfgRewardContainer | RewardMapStore |
| Stores all dungeons by groupType. | |
| LFGDungeonContainer | LfgDungeonStore |
| Stores rewards for random dungeons. | |
| LfgRoleCheckContainer | RoleChecksStore |
| LfgProposalContainer | ProposalsStore |
| Current Role checks. | |
| LfgPlayerBootContainer | BootsStore |
| Current Proposals. | |
| LfgPlayerDataContainer | PlayersStore |
| Current player kicks. | |
| LfgGroupDataContainer | GroupsStore |
| Player data. | |
|
private |
Definition at line 60 of file LFGMgr.cpp.
|
private |
Definition at line 65 of file LFGMgr.cpp.
References RewardMapStore.
|
delete |
|
delete |
| void lfg::LFGMgr::_LoadFromDB | ( | Field * | fields, |
| ObjectGuid | guid | ||
| ) |
Load Lfg group info from DB.
Definition at line 71 of file LFGMgr.cpp.
References Field::GetUInt32(), Field::GetUInt8(), ObjectGuid::IsParty(), lfg::LFG_STATE_DUNGEON, lfg::LFG_STATE_FINISHED_DUNGEON, SetDungeon(), SetLeader(), and SetState().
|
private |
Definition at line 100 of file LFGMgr.cpp.
References CHAR_DEL_LFG_DATA, CHAR_INS_LFG_DATA, CharacterDatabase, GetDungeon(), GetState(), ObjectGuid::IsParty(), and PreparedStatementBase::setUInt32().
Referenced by MakeNewGroup().
| void lfg::LFGMgr::AddPlayerToGroup | ( | ObjectGuid | gguid, |
| ObjectGuid | guid | ||
| ) |
Adds player to group.
Definition at line 1949 of file LFGMgr.cpp.
References GroupsStore.
Referenced by SetupGroupMember().
| uint32 lfg::LFGMgr::AddProposal | ( | LfgProposal & | proposal | ) |
Add a new Proposal.
Definition at line 1038 of file LFGMgr.cpp.
References lfg::LfgProposal::id, m_lfgProposalId, and ProposalsStore.
| bool lfg::LFGMgr::AllQueued | ( | GuidList const & | check | ) |
Checks if all players are queued.
Definition at line 2067 of file LFGMgr.cpp.
References GetState(), lfg::GetStateString(), lfg::LFG_STATE_PROPOSAL, lfg::LFG_STATE_QUEUED, and TC_LOG_DEBUG.
|
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
| [in] | groles | Map of roles to check |
Definition at line 878 of file LFGMgr.cpp.
References CheckGroupRoles(), lfg::LFG_DPS_NEEDED, lfg::LFG_HEALERS_NEEDED, lfg::LFG_TANKS_NEEDED, lfg::PLAYER_ROLE_DAMAGE, lfg::PLAYER_ROLE_HEALER, lfg::PLAYER_ROLE_NONE, and lfg::PLAYER_ROLE_TANK.
Referenced by lfg::LFGQueue::CheckCompatibility(), CheckGroupRoles(), and UpdateRoleCheck().
| void lfg::LFGMgr::Clean | ( | ) |
Clears queue - Only for internal testing.
Definition at line 2097 of file LFGMgr.cpp.
References QueuesStore.
|
private |
|
private |
Definition at line 1886 of file LFGMgr.cpp.
References GroupsStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by UpdateBoot().
| 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.
References QueuesStore.
Definition at line 1934 of file LFGMgr.cpp.
References Unit::GetClass(), MAX_SPECIALIZATIONS, lfg::PLAYER_ROLE_LEADER, and sDB2Manager.
Referenced by JoinLfg(), and UpdateRoleCheck().
| 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.
| [in] | gguid | Group guid |
| [in] | dungeonId | Dungeonid |
Definition at line 1472 of file LFGMgr.cpp.
References Player::CanRewardQuest(), CompletedLFGDungeon, CompletedLFGDungeonWithStrangers, lfg::LFGDungeonData::difficulty, DIFFICULTY_HEROIC, lfg::LFGDungeonData::Entry(), WorldObject::FindMap(), ObjectAccessor::FindPlayer(), lfg::LfgReward::firstQuest, GetDungeon(), Unit::GetLevel(), GetLFGDungeon(), WorldLocation::GetMapId(), GetPlayers(), GetRandomDungeonReward(), GetSelectedDungeons(), Player::GetSession(), GetState(), Item, lfg::LFG_SPELL_DUNGEON_COOLDOWN, lfg::LFG_STATE_FINISHED_DUNGEON, lfg::LFG_TYPE_RANDOM, lfg::LFGDungeonData::map, lfg::LfgReward::otherQuest, PlayersStore, Unit::RemoveAurasDueToSpell(), Player::RewardQuest(), lfg::LFGDungeonData::seasonal, WorldSession::SendLfgPlayerReward(), SetState(), sObjectMgr, TC_LOG_DEBUG, ObjectGuid::ToString(), lfg::LFGDungeonData::type, and Player::UpdateCriteria().
Referenced by OnDungeonEncounterDone().
|
private |
Given a list of dungeons remove the dungeons players have restrictions.
| [in,out] | dungeons | Dungeons to check restrictions |
| [in] | players | Set of players to check their dungeon restrictions |
| [out] | lockMap | Map of players Lock status info of given dungeons (Empty if dungeons is not empty) |
Definition at line 818 of file LFGMgr.cpp.
References ASSERT, lfg::LFGDungeonData::difficulty, ObjectAccessor::FindConnectedPlayer(), GetLFGDungeon(), GetLockedDungeons(), WorldObject::GetName(), lfg::LFG_LOCKSTATUS_RAID_LOCKED, lfg::LFGDungeonData::map, and sInstanceLockMgr.
Referenced by JoinLfg().
| uint32 lfg::LFGMgr::GetDungeon | ( | ObjectGuid | guid, |
| bool | asId = true |
||
| ) |
Get current dungeon.
Definition at line 1679 of file LFGMgr.cpp.
References GroupsStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by _SaveToDB(), FinishDungeon(), inLfgDungeonMap(), JoinLfg(), LeaveLfg(), OnDungeonEncounterDone(), SetupGroupMember(), and TeleportPlayer().
| uint32 lfg::LFGMgr::GetDungeonMapId | ( | ObjectGuid | guid | ) |
Get the map id of the current dungeon.
Definition at line 1686 of file LFGMgr.cpp.
References GetLFGDungeon(), GroupsStore, TC_LOG_TRACE, and ObjectGuid::ToString().
|
private |
Get the dungeon list that can be done given a random dungeon entry.
| [in] | randomdungeon | Random dungeon id (if value = 0 will return all dungeons) |
Definition at line 1591 of file LFGMgr.cpp.
References CachedDungeonMapStore, GetLFGDungeon(), and lfg::LFGDungeonData::group.
Referenced by GetLockedDungeons(), and JoinLfg().
Given a Dungeon id returns the dungeon Type
| [in] | dungeon | dungeon id |
Definition at line 1626 of file LFGMgr.cpp.
References GetLFGDungeon(), lfg::LFG_TYPE_NONE, and lfg::LFGDungeonData::type.
Referenced by JoinLfg().
| ObjectGuid lfg::LFGMgr::GetGroup | ( | ObjectGuid | guid | ) |
Gets player group.
Definition at line 1967 of file LFGMgr.cpp.
References PlayersStore.
Referenced by inLfgDungeonMap(), LeaveLfg(), MakeNewGroup(), Update(), and UpdateBoot().
| uint8 lfg::LFGMgr::GetKicksLeft | ( | ObjectGuid | gguid | ) |
Get kicks left in current group.
Definition at line 1806 of file LFGMgr.cpp.
References GroupsStore, TC_LOG_TRACE, and ObjectGuid::ToString().
| ObjectGuid lfg::LFGMgr::GetLeader | ( | ObjectGuid | guid | ) |
Get leader of the group (using internal data)
Definition at line 1987 of file LFGMgr.cpp.
References GroupsStore.
Referenced by LeaveLfg().
|
private |
Definition at line 181 of file LFGMgr.cpp.
References LfgDungeonStore.
Referenced by FinishDungeon(), GetCompatibleDungeons(), GetDungeonMapId(), GetDungeonsByRandom(), GetDungeonType(), GetLFGDungeonEntry(), GetLockedDungeons(), GetSelectedRandomDungeon(), inLfgDungeonMap(), MakeNewGroup(), OnDungeonEncounterDone(), selectedRandomLfgDungeon(), and TeleportPlayer().
Return Lfg dungeon entry for given dungeon id.
Definition at line 2194 of file LFGMgr.cpp.
References GetLFGDungeon().
Referenced by LoadRewards().
| LfgUpdateData lfg::LFGMgr::GetLfgStatus | ( | ObjectGuid | guid | ) |
Returns current lfg status.
Definition at line 2117 of file LFGMgr.cpp.
References lfg::LfgPlayerData::GetSelectedDungeons(), lfg::LfgPlayerData::GetState(), lfg::LFG_UPDATETYPE_UPDATE_STATUS, and PlayersStore.
| LfgLockMap lfg::LFGMgr::GetLockedDungeons | ( | ObjectGuid | guid | ) |
Get locked dungeons.
Definition at line 1728 of file LFGMgr.cpp.
References ALLIANCE, lfg::LFGDungeonData::contentTuningId, lfg::LFGDungeonData::difficulty, DISABLE_TYPE_LFG_MAP, DISABLE_TYPE_MAP, lfg::LFGDungeonData::Entry(), lfg::LFGDungeonData::expansion, ObjectAccessor::FindConnectedPlayer(), Player::GetAverageItemLevel(), GetDungeonsByRandom(), WorldSession::GetExpansion(), Unit::GetLevel(), GetLFGDungeon(), Player::GetQuestRewardStatus(), Player::GetSession(), Player::GetTeam(), Player::HasAchieved(), Player::HasItemCount(), WorldSession::HasPermission(), HORDE, lfg::LFGDungeonData::id, DisableMgr::IsDisabledFor(), IsSeasonActive(), lfg::LFG_LOCKSTATUS_INSUFFICIENT_EXPANSION, lfg::LFG_LOCKSTATUS_MISSING_ACHIEVEMENT, lfg::LFG_LOCKSTATUS_MISSING_ITEM, lfg::LFG_LOCKSTATUS_NOT_IN_SEASON, lfg::LFG_LOCKSTATUS_QUEST_NOT_COMPLETED, lfg::LFG_LOCKSTATUS_RAID_LOCKED, lfg::LFG_LOCKSTATUS_TOO_HIGH_LEVEL, lfg::LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE, lfg::LFG_LOCKSTATUS_TOO_LOW_LEVEL, Player::m_playerData, lfg::LFGDungeonData::map, rbac::RBAC_PERM_JOIN_DUNGEON_FINDER, lfg::LFGDungeonData::requiredItemLevel, sDB2Manager, lfg::LFGDungeonData::seasonal, sInstanceLockMgr, sObjectMgr, TC_LOG_TRACE, TC_LOG_WARN, and ObjectGuid::ToString().
Referenced by GetCompatibleDungeons().
| LfgState lfg::LFGMgr::GetOldState | ( | ObjectGuid | guid | ) |
Get last lfg state (NONE, DUNGEON or FINISHED_DUNGEON)
Definition at line 1652 of file LFGMgr.cpp.
References GroupsStore, ObjectGuid::IsParty(), PlayersStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by LeaveLfg().
| uint32 lfg::LFGMgr::GetOptions | ( | ) |
| uint8 lfg::LFGMgr::GetPlayerCount | ( | ObjectGuid | guid | ) |
Gets the player count of given group.
Definition at line 1982 of file LFGMgr.cpp.
References GroupsStore.
|
private |
Definition at line 1977 of file LFGMgr.cpp.
References GroupsStore.
Referenced by FinishDungeon(), GetQueueId(), InitBoot(), and LeaveLfg().
|
private |
Definition at line 2061 of file LFGMgr.cpp.
References GetQueueId(), and QueuesStore.
Referenced by JoinLfg(), LeaveLfg(), RemoveProposal(), UpdateProposal(), and UpdateRoleCheck().
| uint8 lfg::LFGMgr::GetQueueId | ( | ObjectGuid | guid | ) |
Returns queue id.
Definition at line 2048 of file LFGMgr.cpp.
References ObjectGuid::Empty, GetPlayers(), GetTeam(), ObjectGuid::IsEmpty(), and ObjectGuid::IsParty().
Referenced by GetQueue(), GetQueueJoinTime(), and JoinLfg().
| time_t lfg::LFGMgr::GetQueueJoinTime | ( | ObjectGuid | guid | ) |
Gets queue join time.
Definition at line 2086 of file LFGMgr.cpp.
References GetQueueId(), and QueuesStore.
| LfgDungeonSet lfg::LFGMgr::GetRandomAndSeasonalDungeons | ( | uint8 | level, |
| uint8 | expansion, | ||
| std::span< uint32 const > | contentTuningReplacementConditionMask | ||
| ) |
Returns all random and seasonal dungeons for given level and expansion.
Definition at line 2203 of file LFGMgr.cpp.
References lfg::LFGDungeonData::contentTuningId, lfg::LFGDungeonData::Entry(), lfg::LFGDungeonData::expansion, lfg::LFGDungeonData::id, lfg::LFG_TYPE_RANDOM, LfgDungeonStore, sDB2Manager, lfg::LFGDungeonData::seasonal, sLFGMgr, and lfg::LFGDungeonData::type.
Gets the random dungeon reward corresponding to given dungeon and player level.
Get the reward of a given random dungeon at a certain level
| [in] | dungeon | dungeon id |
| [in] | level | Player level |
Definition at line 1605 of file LFGMgr.cpp.
References RewardMapStore.
Referenced by FinishDungeon().
| uint8 lfg::LFGMgr::GetRoles | ( | ObjectGuid | guid | ) |
Get current player roles.
Definition at line 1699 of file LFGMgr.cpp.
References PlayersStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by UpdateProposal().
| LfgDungeonSet const & lfg::LFGMgr::GetSelectedDungeons | ( | ObjectGuid | guid | ) |
Get selected dungeons.
Definition at line 1706 of file LFGMgr.cpp.
References lfg::ConcatenateDungeons(), GetSelectedDungeons(), PlayersStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by FinishDungeon(), GetSelectedDungeons(), GetSelectedRandomDungeon(), MakeNewGroup(), RemoveProposal(), selectedRandomLfgDungeon(), Update(), and UpdateProposal().
| uint32 lfg::LFGMgr::GetSelectedRandomDungeon | ( | ObjectGuid | guid | ) |
Get selected random dungeon.
Definition at line 1712 of file LFGMgr.cpp.
References GetLFGDungeon(), GetSelectedDungeons(), GetState(), lfg::LFG_STATE_NONE, lfg::LFG_TYPE_RANDOM, and lfg::LFGDungeonData::type.
| LfgState lfg::LFGMgr::GetState | ( | ObjectGuid | guid | ) |
Get current lfg state.
Definition at line 1635 of file LFGMgr.cpp.
References lfg::GetStateString(), GroupsStore, ObjectGuid::IsParty(), PlayersStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by _SaveToDB(), AllQueued(), FinishDungeon(), GetSelectedRandomDungeon(), JoinLfg(), LeaveLfg(), OnDungeonEncounterDone(), RemoveGroupData(), selectedRandomLfgDungeon(), and SetupGroupMember().
|
private |
Definition at line 1927 of file LFGMgr.cpp.
References PlayersStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by GetQueueId().
| WorldPackets::LFG::RideTicket const * lfg::LFGMgr::GetTicket | ( | ObjectGuid | guid | ) | const |
|
static |
Checks if given players are ignoring each other.
Definition at line 1992 of file LFGMgr.cpp.
References ObjectAccessor::FindConnectedPlayer(), WorldSession::GetAccountGUID(), Player::GetSession(), Player::GetSocial(), and PlayerSocial::HasIgnore().
| 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
| [in] | gguid | Group the vote kicks belongs to |
| [in] | kicker | Kicker guid |
| [in] | victim | Victim guid |
| [in] | reason | Kick reason |
Definition at line 1260 of file LFGMgr.cpp.
References BootsStore, lfg::LfgPlayerBoot::cancelTime, GameTime::GetGameTime(), GetPlayers(), lfg::LfgPlayerBoot::inProgress, lfg::LFG_ANSWER_AGREE, lfg::LFG_ANSWER_DENY, lfg::LFG_ANSWER_PENDING, lfg::LFG_TIME_BOOT, lfg::LfgPlayerBoot::reason, SendLfgBootProposalUpdate(), SetVoteKick(), lfg::LfgPlayerBoot::victim, and lfg::LfgPlayerBoot::votes.
| 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.
References GetDungeon(), GetGroup(), GetLFGDungeon(), and ObjectGuid::IsParty().
|
static |
| bool lfg::LFGMgr::IsLfgGroup | ( | ObjectGuid | guid | ) |
Check if given group guid is lfg.
Definition at line 2043 of file LFGMgr.cpp.
References GroupsStore, ObjectGuid::IsEmpty(), and ObjectGuid::IsParty().
| bool lfg::LFGMgr::isOptionEnabled | ( | uint32 | option | ) |
Checks if given lfg option is enabled.
Definition at line 2102 of file LFGMgr.cpp.
References m_options.
Referenced by Update().
| bool lfg::LFGMgr::IsSeasonActive | ( | uint32 | dungeonId | ) |
Checks if Seasonal dungeon is active.
Definition at line 2123 of file LFGMgr.cpp.
References HOLIDAY_BREWFEST, HOLIDAY_HALLOWS_END, HOLIDAY_LOVE_IS_IN_THE_AIR, HOLIDAY_MIDSUMMER_FIRE_FESTIVAL, and IsHolidayActive().
Referenced by GetLockedDungeons().
| bool lfg::LFGMgr::IsVoteKickActive | ( | ObjectGuid | gguid | ) |
Get current vote kick state.
Definition at line 1669 of file LFGMgr.cpp.
References ASSERT, GroupsStore, ObjectGuid::IsParty(), TC_LOG_TRACE, and ObjectGuid::ToString().
| 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.
| [in] | player | Player trying to join (or leader of group trying to join) |
| [in] | roles | Player selected roles |
| [in] | dungeons | Dungeons the player/group is applying for |
Definition at line 398 of file LFGMgr.cpp.
References lfg::LFGQueue::AddQueueData(), lfg::LfgRoleCheck::cancelTime, lfg::ConcatenateDungeons(), lfg::LfgRoleCheck::dungeons, FilterClassRoles(), GetCompatibleDungeons(), GetDungeon(), GetDungeonsByRandom(), GetDungeonType(), GameTime::GetGameTime(), Player::GetGroup(), BaseEntity::GetGUID(), Group::GetGUID(), Group::GetMembers(), Group::GetMembersCount(), WorldObject::GetName(), GetQueue(), GetQueueId(), Player::GetSession(), GetState(), Unit::HasAura(), WorldSession::HasPermission(), WorldPackets::LFG::RideTicket::Id, Player::InArena(), Player::InBattleground(), Player::InBattlegroundQueue(), Group::isLFGGroup(), lfg::LfgRoleCheck::leader, WorldPackets::LFG::Lfg, lfg::LFG_JOIN_CANT_USE_DUNGEONS, lfg::LFG_JOIN_DESERTER_PARTY, lfg::LFG_JOIN_DESERTER_PLAYER, lfg::LFG_JOIN_INVALID_SLOT, lfg::LFG_JOIN_MEMBERS_NOT_PRESENT, lfg::LFG_JOIN_MISMATCHED_SLOTS, lfg::LFG_JOIN_NO_LFG_OBJECT, lfg::LFG_JOIN_NO_SLOTS, lfg::LFG_JOIN_OK, lfg::LFG_JOIN_RANDOM_COOLDOWN_PARTY, lfg::LFG_JOIN_RANDOM_COOLDOWN_PLAYER, lfg::LFG_JOIN_TOO_MANY_MEMBERS, lfg::LFG_ROLECHECK_INITIALITING, lfg::LFG_SPELL_DUNGEON_COOLDOWN, lfg::LFG_SPELL_DUNGEON_DESERTER, lfg::LFG_STATE_FINISHED_DUNGEON, lfg::LFG_STATE_QUEUED, lfg::LFG_STATE_ROLECHECK, lfg::LFG_TIME_ROLECHECK, lfg::LFG_TYPE_DUNGEON, lfg::LFG_TYPE_HEROIC, lfg::LFG_TYPE_RAID, lfg::LFG_TYPE_RANDOM, lfg::LFG_UPDATETYPE_ADDED_TO_QUEUE, lfg::LFG_UPDATETYPE_JOIN_QUEUE, lfg::LFG_UPDATETYPE_JOIN_QUEUE_INITIAL, lfg::LfgJoinResultData::lockmap, MAX_GROUP_SIZE, lfg::PLAYER_ROLE_ANY, lfg::PLAYER_ROLE_DAMAGE, lfg::PLAYER_ROLE_HEALER, lfg::PLAYER_ROLE_TANK, lfg::LfgJoinResultData::playersMissingRequirement, rbac::RBAC_PERM_JOIN_DUNGEON_FINDER, lfg::LfgRoleCheck::rDungeonId, lfg::LFGQueue::RemoveFromQueue(), WorldPackets::LFG::RideTicket::RequesterGuid, lfg::LfgJoinResultData::result, RoleChecksStore, lfg::LfgRoleCheck::roles, WorldSession::SendLfgJoinResult(), WorldSession::SendLfgUpdateStatus(), SetRoles(), SetSelectedDungeons(), SetState(), SetTicket(), lfg::LfgRoleCheck::state, TC_LOG_DEBUG, WorldPackets::LFG::RideTicket::Time, ObjectGuid::ToString(), WorldPackets::LFG::RideTicket::Type, and UpdateRoleCheck().
| 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
| [in] | guid | Player or group guid |
Definition at line 627 of file LFGMgr.cpp.
References GetDungeon(), GetGroup(), GetLeader(), GetOldState(), GetPlayers(), GetQueue(), GetState(), ObjectGuid::IsEmpty(), ObjectGuid::IsParty(), lfg::LFG_ANSWER_DENY, lfg::LFG_STATE_DUNGEON, lfg::LFG_STATE_FINISHED_DUNGEON, lfg::LFG_STATE_NONE, lfg::LFG_STATE_PROPOSAL, lfg::LFG_STATE_QUEUED, lfg::LFG_STATE_RAIDBROWSER, lfg::LFG_STATE_ROLECHECK, lfg::LFG_UPDATETYPE_PROPOSAL_DECLINED, lfg::LFG_UPDATETYPE_REMOVED_FROM_QUEUE, ProposalsStore, lfg::LFGQueue::RemoveFromQueue(), RemoveProposal(), SendLfgUpdateStatus(), SetState(), sGroupMgr, TC_LOG_DEBUG, ObjectGuid::ToString(), and UpdateRoleCheck().
| void lfg::LFGMgr::LoadLFGDungeons | ( | ) |
Loads dungeons from dbc and adds teleport coords.
Definition at line 190 of file LFGMgr.cpp.
References CachedDungeonMapStore, LFGDungeonsEntry::DifficultyID, Field::GetFloat(), WorldLocation::GetMapId(), getMSTime(), GetMSTimeDiffToNow(), Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Field::GetUInt16(), Field::GetUInt32(), lfg::LFGDungeonData::group, LFGDungeonsEntry::ID, lfg::LFGDungeonData::id, lfg::LFG_TYPE_DUNGEON, lfg::LFG_TYPE_HEROIC, lfg::LFG_TYPE_RAID, lfg::LFG_TYPE_RANDOM, LfgDungeonStore, WorldSafeLocsEntry::Loc, lfg::LFGDungeonData::map, LFGDungeonsEntry::MapID, lfg::LFGDungeonData::name, lfg::LFGDungeonData::o, lfg::LFGDungeonData::requiredItemLevel, sDB2Manager, sLFGDungeonsStore, sObjectMgr, TC_LOG_ERROR, TC_LOG_INFO, lfg::LFGDungeonData::type, LFGDungeonsEntry::TypeID, WorldDatabase, lfg::LFGDungeonData::x, lfg::LFGDungeonData::y, and lfg::LFGDungeonData::z.
| void lfg::LFGMgr::LoadRewards | ( | ) |
Loads rewards for random dungeons.
Load rewards for completing dungeons.
Definition at line 121 of file LFGMgr.cpp.
References CONFIG_MAX_PLAYER_LEVEL, GetLFGDungeonEntry(), getMSTime(), GetMSTimeDiffToNow(), Field::GetUInt32(), Field::GetUInt8(), RewardMapStore, sObjectMgr, sWorld, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
|
private |
Makes a new group given a proposal
| [in] | proposal | Proposal to get info from |
Definition at line 945 of file LFGMgr.cpp.
References _SaveToDB(), ABORT_MSG, Group::AddMember(), ASSERT, WorldObject::CastSpell(), Group::ConvertToLFG(), Group::Create(), lfg::LFGDungeonData::difficulty, lfg::LfgProposal::dungeonId, lfg::LFGDungeonData::Entry(), ObjectAccessor::FindConnectedPlayer(), ObjectAccessor::FindPlayer(), Group::GetDbStoreId(), GetGroup(), Player::GetGroup(), BaseEntity::GetGUID(), Group::GetGUID(), GetLFGDungeon(), GetSelectedDungeons(), lfg::LfgProposal::group, ObjectGuid::IsEmpty(), lfg::LfgProposal::isNew, lfg::LfgProposal::leader, lfg::LFG_SPELL_DUNGEON_COOLDOWN, lfg::LFG_STATE_DUNGEON, lfg::LFG_STATE_PROPOSAL, lfg::LFG_TYPE_RANDOM, lfg::PLAYER_ROLE_DAMAGE, lfg::PLAYER_ROLE_HEALER, lfg::PLAYER_ROLE_LEADER, lfg::PLAYER_ROLE_TANK, lfg::LfgProposal::players, Group::RemoveMember(), Group::SendUpdate(), SetDungeon(), Group::SetDungeonDifficultyID(), Group::SetLfgRoles(), SetState(), sGroupMgr, TeleportPlayer(), and lfg::LFGDungeonData::type.
Referenced by UpdateProposal().
| void lfg::LFGMgr::OnDungeonEncounterDone | ( | ObjectGuid | gguid, |
| std::span< uint32 const > | dungeonEncounters, | ||
| Map const * | currMap | ||
| ) |
Check dungeon completion on encounter completion.
Check if dungeon can be rewarded, if any.
| [in] | gguid | Group guid |
| [in] | dungeonEncounters | DungeonEncounter that was just completed |
| [in] | currMap | Map of the instance where encounter was completed |
Definition at line 1449 of file LFGMgr.cpp.
References advstd::ranges::contains, lfg::LFGDungeonData::finalDungeonEncounterId, FinishDungeon(), GetDungeon(), GetLFGDungeon(), GetState(), lfg::LFG_STATE_FINISHED_DUNGEON, TC_LOG_DEBUG, and ObjectGuid::ToString().
| void lfg::LFGMgr::RemoveGroupData | ( | ObjectGuid | guid | ) |
Removes saved group data.
Definition at line 1905 of file LFGMgr.cpp.
References ObjectGuid::Empty, GetState(), GroupsStore, lfg::LFG_STATE_NONE, lfg::LFG_STATE_PROPOSAL, lfg::LFG_UPDATETYPE_REMOVED_FROM_QUEUE, SendLfgUpdateStatus(), SetGroup(), SetState(), TC_LOG_TRACE, and ObjectGuid::ToString().
|
private |
Definition at line 1897 of file LFGMgr.cpp.
References PlayersStore, TC_LOG_TRACE, and ObjectGuid::ToString().
| uint8 lfg::LFGMgr::RemovePlayerFromGroup | ( | ObjectGuid | gguid, |
| ObjectGuid | guid | ||
| ) |
|
private |
Remove a proposal from the pool, remove the group that didn't accept (if needed) and readd the other members to the queue
| [in] | itProposal | Iterator to the proposal to remove |
| [in] | type | Type of removal (LFG_UPDATETYPE_PROPOSAL_FAILED, LFG_UPDATETYPE_PROPOSAL_DECLINED) |
Definition at line 1160 of file LFGMgr.cpp.
References lfg::LFGQueue::AddToQueue(), GetQueue(), GetSelectedDungeons(), ObjectGuid::IsEmpty(), lfg::LFG_ANSWER_AGREE, lfg::LFG_ANSWER_DENY, lfg::LFG_ANSWER_PENDING, lfg::LFG_PROPOSAL_FAILED, lfg::LFG_STATE_QUEUED, lfg::LFG_UPDATETYPE_ADDED_TO_QUEUE, lfg::LFG_UPDATETYPE_PROPOSAL_FAILED, lfg::LFG_UPDATETYPE_REMOVED_FROM_QUEUE, lfg::LfgProposal::players, ProposalsStore, lfg::LfgProposal::queues, lfg::LFGQueue::RemoveFromQueue(), RestoreState(), SendLfgUpdateProposal(), SendLfgUpdateStatus(), SetState(), lfg::LfgProposal::state, TC_LOG_DEBUG, ObjectGuid::ToString(), and lfg::LfgUpdateData::updateType.
Referenced by LeaveLfg(), Update(), and UpdateProposal().
|
private |
Definition at line 1813 of file LFGMgr.cpp.
References lfg::LfgGroupData::GetOldState(), lfg::LfgPlayerData::GetOldState(), lfg::LfgGroupData::GetState(), lfg::LfgPlayerData::GetState(), lfg::GetStateString(), GroupsStore, ObjectGuid::IsParty(), PlayersStore, lfg::LfgGroupData::RestoreState(), lfg::LfgPlayerData::RestoreState(), TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by RemoveProposal(), Update(), and UpdateRoleCheck().
| bool lfg::LFGMgr::selectedRandomLfgDungeon | ( | ObjectGuid | guid | ) |
Check if given guid applied for random dungeon.
Definition at line 2165 of file LFGMgr.cpp.
References GetLFGDungeon(), GetSelectedDungeons(), GetState(), lfg::LFG_STATE_NONE, lfg::LFG_TYPE_RANDOM, lfg::LFGDungeonData::seasonal, and lfg::LFGDungeonData::type.
|
private |
Definition at line 2025 of file LFGMgr.cpp.
References ObjectAccessor::FindConnectedPlayer().
Referenced by InitBoot(), Update(), and UpdateBoot().
|
private |
Definition at line 2019 of file LFGMgr.cpp.
References ObjectAccessor::FindConnectedPlayer().
Referenced by Update(), and UpdateRoleCheck().
|
static |
Sends queue status to player.
Definition at line 2037 of file LFGMgr.cpp.
References ObjectAccessor::FindConnectedPlayer().
Referenced by lfg::LFGQueue::UpdateQueueTimers().
|
private |
Definition at line 2007 of file LFGMgr.cpp.
References ObjectAccessor::FindConnectedPlayer().
Referenced by Update(), and UpdateRoleCheck().
|
private |
Definition at line 2001 of file LFGMgr.cpp.
References ObjectAccessor::FindConnectedPlayer(), Player::GetSession(), and WorldSession::SendLfgRoleChosen().
Referenced by UpdateRoleCheck().
|
private |
Definition at line 2031 of file LFGMgr.cpp.
References ObjectAccessor::FindConnectedPlayer().
Referenced by RemoveProposal(), Update(), and UpdateProposal().
|
private |
Definition at line 2013 of file LFGMgr.cpp.
References ObjectAccessor::FindConnectedPlayer().
Referenced by LeaveLfg(), RemoveGroupData(), RemoveProposal(), Update(), UpdateProposal(), and UpdateRoleCheck().
|
private |
Definition at line 1868 of file LFGMgr.cpp.
References GroupsStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by _LoadFromDB(), and MakeNewGroup().
| void lfg::LFGMgr::SetGroup | ( | ObjectGuid | guid, |
| ObjectGuid | group | ||
| ) |
Sets player group.
Definition at line 1972 of file LFGMgr.cpp.
References PlayersStore.
Referenced by RemoveGroupData(), and SetupGroupMember().
| void lfg::LFGMgr::SetLeader | ( | ObjectGuid | gguid, |
| ObjectGuid | leader | ||
| ) |
Sets the leader of the group.
Definition at line 1954 of file LFGMgr.cpp.
References GroupsStore.
Referenced by _LoadFromDB().
| void lfg::LFGMgr::SetOptions | ( | uint32 | options | ) |
| void lfg::LFGMgr::SetRoles | ( | ObjectGuid | guid, |
| uint8 | roles | ||
| ) |
Sets player lfg roles.
Definition at line 1874 of file LFGMgr.cpp.
References PlayersStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by JoinLfg(), and UpdateRoleCheck().
|
private |
Definition at line 1880 of file LFGMgr.cpp.
References lfg::ConcatenateDungeons(), PlayersStore, TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by JoinLfg(), and SetupGroupMember().
|
private |
Definition at line 1835 of file LFGMgr.cpp.
References lfg::LfgGroupData::GetOldState(), lfg::LfgPlayerData::GetOldState(), lfg::LfgGroupData::GetState(), lfg::LfgPlayerData::GetState(), lfg::GetStateString(), GroupsStore, ObjectGuid::IsParty(), PlayersStore, lfg::LfgGroupData::SetState(), lfg::LfgPlayerData::SetState(), TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by _LoadFromDB(), FinishDungeon(), JoinLfg(), LeaveLfg(), MakeNewGroup(), RemoveGroupData(), RemoveProposal(), SetupGroupMember(), Update(), UpdateProposal(), and UpdateRoleCheck().
| void lfg::LFGMgr::SetTeam | ( | ObjectGuid | guid, |
| uint8 | team | ||
| ) |
Sets player team.
Definition at line 1959 of file LFGMgr.cpp.
References CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP, PlayersStore, and sWorld.
|
private |
| 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.
References AddPlayerToGroup(), GetDungeon(), GetState(), SetGroup(), SetSelectedDungeons(), and SetState().
|
private |
Definition at line 1857 of file LFGMgr.cpp.
References ASSERT, GroupsStore, ObjectGuid::IsParty(), lfg::LfgGroupData::IsVoteKickActive(), lfg::LfgGroupData::SetVoteKick(), TC_LOG_TRACE, and ObjectGuid::ToString().
Referenced by InitBoot(), Update(), and UpdateBoot().
| 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
| [in] | player | Player to teleport |
| [in] | out | Teleport out (true) or in (false) |
| [in] | fromOpcode | Function called from opcode handlers? (Default false) |
Definition at line 1357 of file LFGMgr.cpp.
References Player::FinishTaxiFlight(), Unit::GetCharmedGUID(), GetDungeon(), Player::GetGroup(), Group::GetGUID(), GetLFGDungeon(), WorldObject::GetMap(), WorldLocation::GetMapId(), Group::GetMembers(), WorldObject::GetName(), Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Player::GetSession(), Unit::GetVehicle(), Unit::HasAura(), Unit::HasUnitState(), Unit::IsAlive(), Map::IsDungeon(), ObjectGuid::IsEmpty(), Unit::IsFalling(), Group::isLFGGroup(), Player::IsMirrorTimerActive(), lfg::LFG_TELEPORT_RESULT_DEAD, lfg::LFG_TELEPORT_RESULT_EXHAUSTION, lfg::LFG_TELEPORT_RESULT_FALLING, lfg::LFG_TELEPORT_RESULT_IMMUNE_TO_SUMMONS, lfg::LFG_TELEPORT_RESULT_NO_RETURN_LOCATION, lfg::LFG_TELEPORT_RESULT_NONE, lfg::LFG_TELEPORT_RESULT_ON_TRANSPORT, lfg::LFGDungeonData::map, MIRROR_TIMER_FATIGUE, lfg::LFGDungeonData::o, WorldSession::SendLfgTeleportError(), Player::SetBattlegroundEntryPoint(), TC_LOG_DEBUG, Player::TeleportTo(), Player::TeleportToBGEntryPoint(), UNIT_STATE_JUMPING, lfg::LFGDungeonData::x, lfg::LFGDungeonData::y, and lfg::LFGDungeonData::z.
Referenced by MakeNewGroup().
| void lfg::LFGMgr::Update | ( | uint32 | diff | ) |
Definition at line 287 of file LFGMgr.cpp.
References BootsStore, lfg::LfgRoleCheck::cancelTime, lfg::LfgPlayerBoot::cancelTime, GameTime::GetGameTime(), GetGroup(), GetSelectedDungeons(), lfg::LfgPlayerBoot::inProgress, ObjectGuid::IsEmpty(), isOptionEnabled(), lfg::LfgRoleCheck::leader, lfg::LFG_JOIN_ROLE_CHECK_FAILED, lfg::LFG_OPTION_ENABLE_DUNGEON_FINDER, lfg::LFG_OPTION_ENABLE_RAID_BROWSER, lfg::LFG_PROPOSAL_SUCCESS, lfg::LFG_QUEUEUPDATE_INTERVAL, lfg::LFG_ROLECHECK_MISSING_ROLE, lfg::LFG_STATE_PROPOSAL, lfg::LFG_UPDATETYPE_PROPOSAL_BEGIN, lfg::LFG_UPDATETYPE_PROPOSAL_FAILED, m_lfgProposalId, m_QueueTimer, lfg::LfgProposal::players, ProposalsStore, QueuesStore, RemoveProposal(), RestoreState(), RoleChecksStore, lfg::LfgRoleCheck::roles, SendLfgBootProposalUpdate(), SendLfgJoinResult(), SendLfgRoleCheckUpdate(), SendLfgUpdateProposal(), SendLfgUpdateStatus(), SetState(), SetVoteKick(), lfg::LfgProposal::state, lfg::LfgRoleCheck::state, TC_LOG_DEBUG, UpdateProposal(), lfg::LfgPlayerBoot::victim, and lfg::LfgPlayerBoot::votes.
| void lfg::LFGMgr::UpdateBoot | ( | ObjectGuid | guid, |
| bool | accept | ||
| ) |
Updates player boot proposal with new player answer.
Update Boot info with player answer
| [in] | guid | Player who has answered |
| [in] | player | answer |
Definition at line 1293 of file LFGMgr.cpp.
References BootsStore, DecreaseKicksLeft(), GetGroup(), GROUP_REMOVEMETHOD_KICK_LFG, lfg::LfgPlayerBoot::inProgress, lfg::LFG_ANSWER_AGREE, lfg::LFG_ANSWER_DENY, lfg::LFG_ANSWER_PENDING, lfg::LFG_GROUP_KICK_VOTES_NEEDED, Player::RemoveFromGroup(), SendLfgBootProposalUpdate(), SetVoteKick(), sGroupMgr, lfg::LfgPlayerBoot::victim, and lfg::LfgPlayerBoot::votes.
| void lfg::LFGMgr::UpdateProposal | ( | uint32 | proposalId, |
| ObjectGuid | guid, | ||
| bool | accept | ||
| ) |
Updates proposal to join dungeon with player answer.
Update Proposal info with player answer
| [in] | proposalId | Proposal id to be updated |
| [in] | guid | Player guid to update answer |
| [in] | accept | Player answer |
Definition at line 1052 of file LFGMgr.cpp.
References lfg::LfgProposalPlayer::accept, ObjectAccessor::FindConnectedPlayer(), GameTime::GetGameTime(), lfg::LFGQueue::GetJoinTime(), GetQueue(), GetRoles(), GetSelectedDungeons(), IN_MILLISECONDS, ObjectGuid::IsEmpty(), lfg::LFG_ANSWER_AGREE, lfg::LFG_PROPOSAL_SUCCESS, lfg::LFG_STATE_DUNGEON, lfg::LFG_UPDATETYPE_GROUP_FOUND, lfg::LFG_UPDATETYPE_PROPOSAL_DECLINED, lfg::LFG_UPDATETYPE_REMOVED_FROM_QUEUE, MakeNewGroup(), lfg::PLAYER_ROLE_DAMAGE, lfg::PLAYER_ROLE_HEALER, lfg::PLAYER_ROLE_TANK, lfg::LfgProposal::players, PlayersStore, ProposalsStore, lfg::LfgProposal::queues, lfg::LFGQueue::RemoveFromQueue(), RemoveProposal(), SendLfgUpdateProposal(), SendLfgUpdateStatus(), SetState(), lfg::LfgProposal::state, TC_LOG_DEBUG, ObjectGuid::ToString(), lfg::LfgUpdateData::updateType, lfg::LFGQueue::UpdateWaitTimeAvg(), lfg::LFGQueue::UpdateWaitTimeDps(), lfg::LFGQueue::UpdateWaitTimeHealer(), and lfg::LFGQueue::UpdateWaitTimeTank().
Referenced by Update().
| 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.
| [in] | grp | Group guid to update rolecheck |
| [in] | guid | Player guid (0 = rolecheck failed) |
| [in] | roles | Player selected roles |
Definition at line 719 of file LFGMgr.cpp.
References lfg::LFGQueue::AddQueueData(), CheckGroupRoles(), lfg::LfgRoleCheck::dungeons, FilterClassRoles(), ObjectAccessor::FindPlayer(), GameTime::GetGameTime(), GetQueue(), ObjectGuid::IsEmpty(), lfg::LfgRoleCheck::leader, lfg::LFG_JOIN_ROLE_CHECK_FAILED, lfg::LFG_ROLECHECK_ABORTED, lfg::LFG_ROLECHECK_DEFAULT, lfg::LFG_ROLECHECK_FINISHED, lfg::LFG_ROLECHECK_INITIALITING, lfg::LFG_ROLECHECK_NO_ROLE, lfg::LFG_ROLECHECK_WRONG_ROLES, lfg::LFG_STATE_QUEUED, lfg::LFG_UPDATETYPE_ADDED_TO_QUEUE, lfg::LFG_UPDATETYPE_ROLECHECK_FAILED, lfg::PLAYER_ROLE_ANY, lfg::PLAYER_ROLE_NONE, lfg::PLAYER_ROLE_TANK, lfg::LfgRoleCheck::rDungeonId, RestoreState(), RoleChecksStore, lfg::LfgRoleCheck::roles, SendLfgJoinResult(), SendLfgRoleCheckUpdate(), SendLfgRoleChosen(), SendLfgUpdateStatus(), SetRoles(), SetState(), and lfg::LfgRoleCheck::state.
Referenced by JoinLfg(), and LeaveLfg().
|
private |
Current Proposals.
Definition at line 503 of file LFGMgr.h.
Referenced by InitBoot(), Update(), and UpdateBoot().
|
private |
Queues.
Definition at line 496 of file LFGMgr.h.
Referenced by GetDungeonsByRandom(), and LoadLFGDungeons().
|
private |
Player data.
Definition at line 505 of file LFGMgr.h.
Referenced by AddPlayerToGroup(), DecreaseKicksLeft(), GetDungeon(), GetDungeonMapId(), GetKicksLeft(), GetLeader(), GetOldState(), GetPlayerCount(), GetPlayers(), GetState(), IsLfgGroup(), IsVoteKickActive(), RemoveGroupData(), RemovePlayerFromGroup(), RestoreState(), SetDungeon(), SetLeader(), SetState(), and SetVoteKick().
|
private |
Stores rewards for random dungeons.
Definition at line 499 of file LFGMgr.h.
Referenced by GetLFGDungeon(), GetRandomAndSeasonalDungeons(), and LoadLFGDungeons().
|
private |
used to check interval of update
Definition at line 492 of file LFGMgr.h.
Referenced by AddProposal(), and Update().
|
private |
used as internal counter for proposals
Definition at line 493 of file LFGMgr.h.
Referenced by GetOptions(), isOptionEnabled(), and SetOptions().
|
private |
|
private |
Current player kicks.
Definition at line 504 of file LFGMgr.h.
Referenced by FinishDungeon(), GetGroup(), GetLfgStatus(), GetOldState(), GetRoles(), GetSelectedDungeons(), GetState(), GetTeam(), GetTicket(), RemovePlayerData(), RestoreState(), SetGroup(), SetRoles(), SetSelectedDungeons(), SetState(), SetTeam(), SetTicket(), and UpdateProposal().
|
private |
Current Role checks.
Definition at line 502 of file LFGMgr.h.
Referenced by AddProposal(), LeaveLfg(), RemoveProposal(), Update(), and UpdateProposal().
|
private |
Stores config options.
Definition at line 495 of file LFGMgr.h.
Referenced by Clean(), DumpQueueInfo(), GetQueue(), GetQueueJoinTime(), and Update().
|
private |
Stores all dungeons by groupType.
Definition at line 498 of file LFGMgr.h.
Referenced by GetRandomDungeonReward(), LoadRewards(), and ~LFGMgr().
|
private |
Definition at line 501 of file LFGMgr.h.
Referenced by JoinLfg(), Update(), and UpdateRoleCheck().