28#include <unordered_map>
145struct LFGDungeonData;
150struct LfgProposalPlayer;
310 static LFGMgr* instance();
321 void LoadLFGDungeons();
325 bool selectedRandomLfgDungeon(
ObjectGuid guid);
351 std::string
const& GetComment(
ObjectGuid gguid);
355 void SetOptions(
uint32 options);
357 bool isOptionEnabled(
uint32 option);
361 std::string DumpQueueInfo(
bool full =
false);
387 bool IsSeasonActive(
uint32 dungeonId);
393 void TeleportPlayer(
Player* player,
bool out,
bool fromOpcode =
false);
397 void UpdateBoot(
ObjectGuid guid,
bool accept);
405 void SetComment(
ObjectGuid guid, std::string
const& comment);
409 void LeaveLfg(
ObjectGuid guid,
bool disconnected =
false);
423 bool AllQueued(
GuidList const& check);
436 void RestoreState(
ObjectGuid guid,
char const* debugMsg);
442 void SetVoteKick(
ObjectGuid gguid,
bool active);
449 void RemoveProposal(LfgProposalContainer::iterator itProposal,
LfgUpdateType type);
492#define sLFGMgr lfg::LFGMgr::instance()
LFGDungeonEntry const * GetLFGDungeon(uint32 mapId, Difficulty difficulty)
Returns LFGDungeonEntry for a specific map and difficulty. Will return first found entry if multiple ...
std::list< ObjectGuid > GuidList
std::set< ObjectGuid > GuidSet
Class used to access individual fields of database query result.
static ObjectGuid const Empty
LfgProposalContainer ProposalsStore
Current Role checks.
LFGDungeonContainer LfgDungeonStore
Stores rewards for random dungeons.
LfgPlayerBootContainer BootsStore
Current Proposals.
LfgCachedDungeonContainer CachedDungeonMapStore
Queues.
LfgRoleCheckContainer RoleChecksStore
uint32 m_lfgProposalId
used to check interval of update
void ClearState(ObjectGuid guid, char const *debugMsg)
LfgRewardContainer RewardMapStore
Stores all dungeons by groupType.
LfgGroupDataContainer GroupsStore
Player data.
uint32 m_options
used as internal counter for proposals
LfgPlayerDataContainer PlayersStore
Current player kicks.
LfgQueueContainer QueuesStore
Stores config options.
@ LFG_OPTION_ENABLE_DUNGEON_FINDER
@ LFG_OPTION_ENABLE_RAID_BROWSER
std::map< ObjectGuid, LfgGroupData > LfgGroupDataContainer
std::map< ObjectGuid, uint8 > LfgRolesMap
std::unordered_map< uint32, LFGDungeonData > LFGDungeonContainer
LfgTeleportError
Teleport errors.
@ LFG_TELEPORTERROR_INVALID_LOCATION
@ LFG_TELEPORTERROR_FATIGUE
@ LFG_TELEPORTERROR_PLAYER_DEAD
@ LFG_TELEPORTERROR_CHARMING
@ LFG_TELEPORTERROR_FALLING
@ LFG_TELEPORTERROR_IN_VEHICLE
std::map< ObjectGuid, LfgAnswer > LfgAnswerContainer
@ LFG_SPELL_DUNGEON_COOLDOWN
@ LFG_GROUP_KICK_VOTES_NEEDED
@ LFG_SPELL_LUCK_OF_THE_DRAW
@ LFG_QUEUEUPDATE_INTERVAL
@ LFG_SPELL_DUNGEON_DESERTER
LfgType
Determines the type of instance.
LfgAnswer
Answer state (Also used to check compatibilites)
std::map< ObjectGuid, LfgPlayerData > LfgPlayerDataContainer
std::map< uint8, LfgDungeonSet > LfgCachedDungeonContainer
std::map< uint8, LFGQueue > LfgQueueContainer
std::map< uint32, uint32 > LfgLockMap
std::set< uint32 > LfgDungeonSet
std::map< ObjectGuid, LfgPlayerBoot > LfgPlayerBootContainer
LfgRoleCheckState
Role check states.
@ LFG_ROLECHECK_WRONG_ROLES
@ LFG_ROLECHECK_MISSING_ROLE
@ LFG_ROLECHECK_INITIALITING
std::pair< LfgRewardContainer::const_iterator, LfgRewardContainer::const_iterator > LfgRewardContainerBounds
int32 format_as(LfgUpdateType e)
std::map< uint32, LfgProposal > LfgProposalContainer
std::map< ObjectGuid, LfgRoleCheck > LfgRoleCheckContainer
std::map< ObjectGuid, LfgLockMap > LfgLockPartyMap
std::multimap< uint32, LfgReward const * > LfgRewardContainer
LfgProposalState
Proposal states.
@ LFG_PROPOSAL_INITIATING
LfgJoinResult
Queue join results.
@ LFG_JOIN_TOO_MUCH_MEMBERS
@ LFG_JOIN_DUNGEON_INVALID
@ LFG_JOIN_USING_BG_SYSTEM
@ LFG_JOIN_INTERNAL_ERROR
@ LFG_JOIN_MIXED_RAID_DUNGEON
@ LFG_JOIN_PARTY_NOT_MEET_REQS
@ LFG_JOIN_RANDOM_COOLDOWN
@ LFG_JOIN_PARTY_INFO_FAILED
@ LFG_JOIN_PARTY_RANDOM_COOLDOWN
@ LFG_JOIN_PARTY_DESERTER
std::map< ObjectGuid, LfgProposalPlayer > LfgProposalPlayerContainer
std::array< uint8, MAX_EXPANSIONS > maxlevel
std::array< uint8, MAX_EXPANSIONS > minlevel
LfgJoinResultData(LfgJoinResult _result=LFG_JOIN_OK, LfgRoleCheckState _state=LFG_ROLECHECK_DEFAULT)
Stores information of a current vote to kick someone from a group.
std::string reason
Player guid to be kicked (can't vote)
LfgAnswerContainer votes
Vote in progress.
bool inProgress
Time left to vote.
ObjectGuid victim
Player votes (-1 not answer | 0 Not agree | 1 agree)
LfgPlayerRewardData(uint32 random, uint32 current, bool _done, Quest const *_quest)
Stores player data related to proposal to join.
ObjectGuid group
Accept status (-1 not answer | 0 Not agree | 1 agree)
LfgAnswer accept
Proposed role.
Stores group data related to proposal to join.
ObjectGuid leader
Proposal group (0 if new)
uint32 dungeonId
Proposal Id.
GuidList showorder
Queue Ids to remove/readd.
uint32 encounters
Time when we will cancel this proposal.
GuidList queues
Determines if it's new group or not.
LfgProposalPlayerContainer players
Show order in update window.
bool isNew
Dungeon Encounters.
LfgProposalState state
Dungeon to join.
ObjectGuid group
State of the proposal.
LfgProposal(uint32 dungeon=0)
time_t cancelTime
Leader guid.
LfgQueueStatusData(uint32 _dungeonId=0, int32 _waitTime=-1, int32 _waitTimeAvg=-1, int32 _waitTimeTank=-1, int32 _waitTimeHealer=-1, int32 _waitTimeDps=-1, uint32 _queuedTime=0, uint8 _tanks=0, uint8 _healers=0, uint8 _dps=0)
LfgReward(uint32 _maxLevel=0, uint32 _firstQuest=0, uint32 _otherQuest=0)
Stores all rolecheck info of a group that wants to join.
LfgDungeonSet dungeons
State of the rolecheck.
LfgRolesMap roles
Time when the rolecheck will fail.
LfgRoleCheckState state
Player selected roles.
ObjectGuid leader
Random Dungeon Id.
uint32 rDungeonId
Dungeons group is applying for (expanded random dungeons)
LfgUpdateData(LfgUpdateType _type=LFG_UPDATETYPE_DEFAULT)
LfgUpdateData(LfgUpdateType _type, LfgState _state, LfgDungeonSet const &_dungeons, std::string const &_comment="")
LfgUpdateData(LfgUpdateType _type, LfgDungeonSet const &_dungeons, std::string const &_comment)