AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
lfg Namespace Reference

Classes

class  Lfg5Guids
 
struct  LFGDungeonData
 
class  LfgGroupData
 
class  LFGGroupScript
 
struct  LfgJoinResultData
 
class  LFGMgr
 
struct  LfgPlayerBoot
 
class  LfgPlayerData
 
struct  LfgPlayerRewardData
 
class  LFGPlayerScript
 
struct  LfgProposal
 
struct  LfgProposalPlayer
 
class  LFGQueue
 
struct  LfgQueueData
 
struct  LfgQueueStatusData
 
struct  LfgReward
 
struct  LfgRoleCheck
 
struct  LfgUpdateData
 
struct  LfgWaitTime
 
struct  RBEntryInfo
 
struct  RBInternalInfo
 

Typedefs

typedef std::list< Lfg5GuidsLfg5GuidsList
 
typedef std::set< uint32LfgDungeonSet
 
typedef std::map< uint32, uint32LfgLockMap
 
typedef std::map< ObjectGuid, LfgLockMapLfgLockPartyMap
 
typedef GuidSet LfgGuidSet
 
typedef GuidList LfgGuidList
 
typedef std::map< ObjectGuid, uint8LfgRolesMap
 
typedef std::map< ObjectGuid, ObjectGuidLfgGroupsMap
 
typedef std::map< uint8, LFGQueueLfgQueueContainer
 
typedef std::multimap< uint32, LfgReward const * > LfgRewardContainer
 
typedef std::pair< LfgRewardContainer::const_iterator, LfgRewardContainer::const_iterator > LfgRewardContainerBounds
 
typedef std::map< uint8, LfgDungeonSetLfgCachedDungeonContainer
 
typedef std::map< ObjectGuid, LfgAnswerLfgAnswerContainer
 
typedef std::map< ObjectGuid, LfgRoleCheckLfgRoleCheckContainer
 
typedef std::map< uint32, LfgProposalLfgProposalContainer
 
typedef std::map< ObjectGuid, LfgProposalPlayerLfgProposalPlayerContainer
 
typedef std::map< ObjectGuid, LfgPlayerBootLfgPlayerBootContainer
 
typedef std::map< ObjectGuid, LfgGroupDataLfgGroupDataContainer
 
typedef std::map< ObjectGuid, LfgPlayerDataLfgPlayerDataContainer
 
typedef std::unordered_map< uint32, LFGDungeonDataLFGDungeonContainer
 
typedef std::map< uint32, LfgWaitTimeLfgWaitTimesContainer
 
typedef std::map< ObjectGuid, LfgQueueDataLfgQueueDataContainer
 
typedef std::list< Lfg5GuidsLfgCompatibleContainer
 

Enumerations

enum  LFGEnum {
  LFG_TANKS_NEEDED = 1 ,
  LFG_HEALERS_NEEDED = 1 ,
  LFG_DPS_NEEDED = 3
}
 
enum  LfgRoles {
  PLAYER_ROLE_NONE = 0x00 ,
  PLAYER_ROLE_LEADER = 0x01 ,
  PLAYER_ROLE_TANK = 0x02 ,
  PLAYER_ROLE_HEALER = 0x04 ,
  PLAYER_ROLE_DAMAGE = 0x08
}
 
enum  LfgUpdateType {
  LFG_UPDATETYPE_DEFAULT = 0 ,
  LFG_UPDATETYPE_LEADER_UNK1 = 1 ,
  LFG_UPDATETYPE_LEAVE_RAIDBROWSER = 2 ,
  LFG_UPDATETYPE_JOIN_RAIDBROWSER = 3 ,
  LFG_UPDATETYPE_ROLECHECK_ABORTED = 4 ,
  LFG_UPDATETYPE_JOIN_QUEUE = 5 ,
  LFG_UPDATETYPE_ROLECHECK_FAILED = 6 ,
  LFG_UPDATETYPE_REMOVED_FROM_QUEUE = 7 ,
  LFG_UPDATETYPE_PROPOSAL_FAILED = 8 ,
  LFG_UPDATETYPE_PROPOSAL_DECLINED = 9 ,
  LFG_UPDATETYPE_GROUP_FOUND = 10 ,
  LFG_UPDATETYPE_ADDED_TO_QUEUE = 12 ,
  LFG_UPDATETYPE_PROPOSAL_BEGIN = 13 ,
  LFG_UPDATETYPE_UPDATE_STATUS = 14 ,
  LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE = 15 ,
  LFG_UPDATETYPE_GROUP_DISBAND_UNK16 = 16
}
 
enum  LfgState {
  LFG_STATE_NONE ,
  LFG_STATE_ROLECHECK ,
  LFG_STATE_QUEUED ,
  LFG_STATE_PROPOSAL ,
  LFG_STATE_BOOT ,
  LFG_STATE_DUNGEON ,
  LFG_STATE_FINISHED_DUNGEON ,
  LFG_STATE_RAIDBROWSER
}
 
enum  LfgLockStatusType {
  LFG_LOCKSTATUS_INSUFFICIENT_EXPANSION = 1 ,
  LFG_LOCKSTATUS_TOO_LOW_LEVEL = 2 ,
  LFG_LOCKSTATUS_TOO_HIGH_LEVEL = 3 ,
  LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE = 4 ,
  LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE = 5 ,
  LFG_LOCKSTATUS_RAID_LOCKED = 6 ,
  LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL = 1001 ,
  LFG_LOCKSTATUS_ATTUNEMENT_TOO_HIGH_LEVEL = 1002 ,
  LFG_LOCKSTATUS_QUEST_NOT_COMPLETED = 1022 ,
  LFG_LOCKSTATUS_MISSING_ITEM = 1025 ,
  LFG_LOCKSTATUS_NOT_IN_SEASON = 1031 ,
  LFG_LOCKSTATUS_MISSING_ACHIEVEMENT = 1034
}
 Instance lock types. More...
 
enum  LfgAnswer {
  LFG_ANSWER_PENDING = -1 ,
  LFG_ANSWER_DENY = 0 ,
  LFG_ANSWER_AGREE = 1
}
 Answer state (Also used to check compatibilites) More...
 
enum  LfgOptions {
  LFG_OPTION_ENABLE_DUNGEON_FINDER = 0x01 ,
  LFG_OPTION_ENABLE_RAID_BROWSER = 0x02 ,
  LFG_OPTION_ENABLE_SEASONAL_BOSSES = 0x04
}
 
enum  LFGMgrEnum {
  LFG_TIME_ROLECHECK = 45 * IN_MILLISECONDS ,
  LFG_TIME_BOOT = 120 ,
  LFG_TIME_PROPOSAL = 40 ,
  LFG_QUEUEUPDATE_INTERVAL = 8 * IN_MILLISECONDS ,
  LFG_SPELL_DUNGEON_COOLDOWN = 71328 ,
  LFG_SPELL_DUNGEON_DESERTER = 71041 ,
  LFG_SPELL_LUCK_OF_THE_DRAW = 72221 ,
  LFG_GROUP_KICK_VOTES_NEEDED = 3
}
 
enum  LfgFlags {
  LFG_FLAG_UNK1 = 0x1 ,
  LFG_FLAG_UNK2 = 0x2 ,
  LFG_FLAG_SEASONAL = 0x4 ,
  LFG_FLAG_UNK3 = 0x8
}
 
enum  LfgType {
  LFG_TYPE_NONE = 0 ,
  LFG_TYPE_DUNGEON = 1 ,
  LFG_TYPE_RAID = 2 ,
  LFG_TYPE_ZONE = 4 ,
  LFG_TYPE_HEROIC = 5 ,
  LFG_TYPE_RANDOM = 6
}
 Determines the type of instance. More...
 
enum  LfgProposalState {
  LFG_PROPOSAL_INITIATING = 0 ,
  LFG_PROPOSAL_FAILED = 1 ,
  LFG_PROPOSAL_SUCCESS = 2
}
 Proposal states. More...
 
enum  LfgTeleportError {
  LFG_TELEPORTERROR_OK = 0 ,
  LFG_TELEPORTERROR_PLAYER_DEAD = 1 ,
  LFG_TELEPORTERROR_FALLING = 2 ,
  LFG_TELEPORTERROR_IN_VEHICLE = 3 ,
  LFG_TELEPORTERROR_FATIGUE = 4 ,
  LFG_TELEPORTERROR_INVALID_LOCATION = 6 ,
  LFG_TELEPORTERROR_COMBAT = 8
}
 Teleport errors. More...
 
enum  LfgJoinResult {
  LFG_JOIN_OK = 0 ,
  LFG_JOIN_FAILED = 1 ,
  LFG_JOIN_GROUPFULL = 2 ,
  LFG_JOIN_INTERNAL_ERROR = 4 ,
  LFG_JOIN_NOT_MEET_REQS = 5 ,
  LFG_JOIN_PARTY_NOT_MEET_REQS = 6 ,
  LFG_JOIN_MIXED_RAID_DUNGEON = 7 ,
  LFG_JOIN_MULTI_REALM = 8 ,
  LFG_JOIN_DISCONNECTED = 9 ,
  LFG_JOIN_PARTY_INFO_FAILED = 10 ,
  LFG_JOIN_DUNGEON_INVALID = 11 ,
  LFG_JOIN_DESERTER = 12 ,
  LFG_JOIN_PARTY_DESERTER = 13 ,
  LFG_JOIN_RANDOM_COOLDOWN = 14 ,
  LFG_JOIN_PARTY_RANDOM_COOLDOWN = 15 ,
  LFG_JOIN_TOO_MUCH_MEMBERS = 16 ,
  LFG_JOIN_USING_BG_SYSTEM = 17
}
 Queue join results. More...
 
enum  LfgRoleCheckState {
  LFG_ROLECHECK_DEFAULT = 0 ,
  LFG_ROLECHECK_FINISHED = 1 ,
  LFG_ROLECHECK_INITIALITING = 2 ,
  LFG_ROLECHECK_MISSING_ROLE = 3 ,
  LFG_ROLECHECK_WRONG_ROLES = 4 ,
  LFG_ROLECHECK_ABORTED = 5 ,
  LFG_ROLECHECK_NO_ROLE = 6
}
 Role check states. More...
 
enum  LfgUpdateFlag {
  LFG_UPDATE_FLAG_NONE = 0x00 ,
  LFG_UPDATE_FLAG_CHARACTERINFO = 0x01 ,
  LFG_UPDATE_FLAG_COMMENT = 0x02 ,
  LFG_UPDATE_FLAG_GROUPLEADER = 0x04 ,
  LFG_UPDATE_FLAG_GROUPGUID = 0x08 ,
  LFG_UPDATE_FLAG_ROLES = 0x10 ,
  LFG_UPDATE_FLAG_AREA = 0x20 ,
  LFG_UPDATE_FLAG_STATUS = 0x40 ,
  LFG_UPDATE_FLAG_BINDED = 0x80
}
 
enum  LfgSeasonalDungeons {
  LFG_DUNGEON_HEADLESS_HORSEMAN = 285 ,
  LFG_DUNGEON_FROST_LORD_AHUNE = 286 ,
  LFG_DUNGEON_COREN_DIREBREW = 287 ,
  LFG_DUNGEON_CROWN_CHEMICAL_CO = 288
}
 
enum  LfgCompatibility {
  LFG_COMPATIBILITY_PENDING ,
  LFG_INCOMPATIBLES_WRONG_GROUP_SIZE ,
  LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS ,
  LFG_INCOMPATIBLES_MULTIPLE_LFG_GROUPS ,
  LFG_INCOMPATIBLES_HAS_IGNORES ,
  LFG_INCOMPATIBLES_NO_ROLES ,
  LFG_INCOMPATIBLES_NO_DUNGEONS ,
  LFG_COMPATIBLES_WITH_LESS_PLAYERS ,
  LFG_COMPATIBLES_MATCH
}
 

Functions

std::string ConcatenateDungeons (LfgDungeonSet const &dungeons)
 
std::string GetRolesString (uint8 roles)
 
std::string GetStateString (LfgState state)
 
template<typename T , FMT_ENABLE_IF(std::is_enum_v< T >) >
auto format_as (T f)
 
void AddSC_LFGScripts ()
 

Typedef Documentation

◆ Lfg5GuidsList

typedef std::list<Lfg5Guids> lfg::Lfg5GuidsList

◆ LfgAnswerContainer

◆ LfgCachedDungeonContainer

◆ LfgCompatibleContainer

◆ LFGDungeonContainer

typedef std::unordered_map<uint32, LFGDungeonData> lfg::LFGDungeonContainer

◆ LfgDungeonSet

typedef std::set<uint32> lfg::LfgDungeonSet

◆ LfgGroupDataContainer

◆ LfgGroupsMap

◆ LfgGuidList

◆ LfgGuidSet

◆ LfgLockMap

typedef std::map<uint32, uint32> lfg::LfgLockMap

◆ LfgLockPartyMap

◆ LfgPlayerBootContainer

◆ LfgPlayerDataContainer

◆ LfgProposalContainer

◆ LfgProposalPlayerContainer

◆ LfgQueueContainer

◆ LfgQueueDataContainer

◆ LfgRewardContainer

typedef std::multimap<uint32, LfgReward const*> lfg::LfgRewardContainer

◆ LfgRewardContainerBounds

typedef std::pair<LfgRewardContainer::const_iterator, LfgRewardContainer::const_iterator> lfg::LfgRewardContainerBounds

◆ LfgRoleCheckContainer

◆ LfgRolesMap

typedef std::map<ObjectGuid, uint8> lfg::LfgRolesMap

◆ LfgWaitTimesContainer

Enumeration Type Documentation

◆ LfgAnswer

Answer state (Also used to check compatibilites)

Enumerator
LFG_ANSWER_PENDING 
LFG_ANSWER_DENY 
LFG_ANSWER_AGREE 
97 {
101 };
@ LFG_ANSWER_AGREE
Definition: LFG.h:100
@ LFG_ANSWER_PENDING
Definition: LFG.h:98
@ LFG_ANSWER_DENY
Definition: LFG.h:99

◆ LfgCompatibility

Enumerator
LFG_COMPATIBILITY_PENDING 
LFG_INCOMPATIBLES_WRONG_GROUP_SIZE 
LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS 
LFG_INCOMPATIBLES_MULTIPLE_LFG_GROUPS 
LFG_INCOMPATIBLES_HAS_IGNORES 
LFG_INCOMPATIBLES_NO_ROLES 
LFG_INCOMPATIBLES_NO_DUNGEONS 
LFG_COMPATIBLES_WITH_LESS_PLAYERS 
LFG_COMPATIBLES_MATCH 
28 {
36 LFG_COMPATIBLES_WITH_LESS_PLAYERS, // Values under this = not compatible (do not modify order)
37 LFG_COMPATIBLES_MATCH // Must be the last one
38 };
@ LFG_COMPATIBLES_WITH_LESS_PLAYERS
Definition: LFGQueue.h:36
@ LFG_INCOMPATIBLES_HAS_IGNORES
Definition: LFGQueue.h:33
@ LFG_INCOMPATIBLES_MULTIPLE_LFG_GROUPS
Definition: LFGQueue.h:32
@ LFG_INCOMPATIBLES_NO_DUNGEONS
Definition: LFGQueue.h:35
@ LFG_COMPATIBILITY_PENDING
Definition: LFGQueue.h:29
@ LFG_COMPATIBLES_MATCH
Definition: LFGQueue.h:37
@ LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS
Definition: LFGQueue.h:31
@ LFG_INCOMPATIBLES_WRONG_GROUP_SIZE
Definition: LFGQueue.h:30
@ LFG_INCOMPATIBLES_NO_ROLES
Definition: LFGQueue.h:34

◆ LFGEnum

Enumerator
LFG_TANKS_NEEDED 
LFG_HEALERS_NEEDED 
LFG_DPS_NEEDED 
31 {
35 };
@ LFG_HEALERS_NEEDED
Definition: LFG.h:33
@ LFG_TANKS_NEEDED
Definition: LFG.h:32
@ LFG_DPS_NEEDED
Definition: LFG.h:34

◆ LfgFlags

Enumerator
LFG_FLAG_UNK1 
LFG_FLAG_UNK2 
LFG_FLAG_SEASONAL 
LFG_FLAG_UNK3 
59 {
60 LFG_FLAG_UNK1 = 0x1,
61 LFG_FLAG_UNK2 = 0x2,
63 LFG_FLAG_UNK3 = 0x8
64 };
@ LFG_FLAG_SEASONAL
Definition: LFGMgr.h:62
@ LFG_FLAG_UNK3
Definition: LFGMgr.h:63
@ LFG_FLAG_UNK2
Definition: LFGMgr.h:61
@ LFG_FLAG_UNK1
Definition: LFGMgr.h:60

◆ LfgJoinResult

Queue join results.

Enumerator
LFG_JOIN_OK 
LFG_JOIN_FAILED 
LFG_JOIN_GROUPFULL 
LFG_JOIN_INTERNAL_ERROR 
LFG_JOIN_NOT_MEET_REQS 
LFG_JOIN_PARTY_NOT_MEET_REQS 
LFG_JOIN_MIXED_RAID_DUNGEON 
LFG_JOIN_MULTI_REALM 
LFG_JOIN_DISCONNECTED 
LFG_JOIN_PARTY_INFO_FAILED 
LFG_JOIN_DUNGEON_INVALID 
LFG_JOIN_DESERTER 
LFG_JOIN_PARTY_DESERTER 
LFG_JOIN_RANDOM_COOLDOWN 
LFG_JOIN_PARTY_RANDOM_COOLDOWN 
LFG_JOIN_TOO_MUCH_MEMBERS 
LFG_JOIN_USING_BG_SYSTEM 
100 {
101 // 3 = No client reaction | 18 = "Rolecheck failed"
102 LFG_JOIN_OK = 0, // Joined (no client msg)
103 LFG_JOIN_FAILED = 1, // RoleCheck Failed
104 LFG_JOIN_GROUPFULL = 2, // Your group is full
105 LFG_JOIN_INTERNAL_ERROR = 4, // Internal LFG Error
106 LFG_JOIN_NOT_MEET_REQS = 5, // You do not meet the requirements for the chosen dungeons
107 LFG_JOIN_PARTY_NOT_MEET_REQS = 6, // One or more party members do not meet the requirements for the chosen dungeons
108 LFG_JOIN_MIXED_RAID_DUNGEON = 7, // You cannot mix dungeons, raids, and random when picking dungeons
109 LFG_JOIN_MULTI_REALM = 8, // The dungeon you chose does not support players from multiple realms
110 LFG_JOIN_DISCONNECTED = 9, // One or more party members are pending invites or disconnected
111 LFG_JOIN_PARTY_INFO_FAILED = 10, // Could not retrieve information about some party members
112 LFG_JOIN_DUNGEON_INVALID = 11, // One or more dungeons was not valid
113 LFG_JOIN_DESERTER = 12, // You can not queue for dungeons until your deserter debuff wears off
114 LFG_JOIN_PARTY_DESERTER = 13, // One or more party members has a deserter debuff
115 LFG_JOIN_RANDOM_COOLDOWN = 14, // You can not queue for random dungeons while on random dungeon cooldown
116 LFG_JOIN_PARTY_RANDOM_COOLDOWN = 15, // One or more party members are on random dungeon cooldown
117 LFG_JOIN_TOO_MUCH_MEMBERS = 16, // You can not enter dungeons with more that 5 party members
118 LFG_JOIN_USING_BG_SYSTEM = 17 // You can not use the dungeon system while in BG or arenas
119 };
@ LFG_JOIN_TOO_MUCH_MEMBERS
Definition: LFGMgr.h:117
@ LFG_JOIN_MULTI_REALM
Definition: LFGMgr.h:109
@ LFG_JOIN_DISCONNECTED
Definition: LFGMgr.h:110
@ LFG_JOIN_DUNGEON_INVALID
Definition: LFGMgr.h:112
@ LFG_JOIN_USING_BG_SYSTEM
Definition: LFGMgr.h:118
@ LFG_JOIN_INTERNAL_ERROR
Definition: LFGMgr.h:105
@ LFG_JOIN_MIXED_RAID_DUNGEON
Definition: LFGMgr.h:108
@ LFG_JOIN_PARTY_NOT_MEET_REQS
Definition: LFGMgr.h:107
@ LFG_JOIN_DESERTER
Definition: LFGMgr.h:113
@ LFG_JOIN_RANDOM_COOLDOWN
Definition: LFGMgr.h:115
@ LFG_JOIN_GROUPFULL
Definition: LFGMgr.h:104
@ LFG_JOIN_PARTY_INFO_FAILED
Definition: LFGMgr.h:111
@ LFG_JOIN_PARTY_RANDOM_COOLDOWN
Definition: LFGMgr.h:116
@ LFG_JOIN_OK
Definition: LFGMgr.h:102
@ LFG_JOIN_PARTY_DESERTER
Definition: LFGMgr.h:114
@ LFG_JOIN_FAILED
Definition: LFGMgr.h:103
@ LFG_JOIN_NOT_MEET_REQS
Definition: LFGMgr.h:106

◆ LfgLockStatusType

Instance lock types.

Enumerator
LFG_LOCKSTATUS_INSUFFICIENT_EXPANSION 
LFG_LOCKSTATUS_TOO_LOW_LEVEL 
LFG_LOCKSTATUS_TOO_HIGH_LEVEL 
LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE 
LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE 
LFG_LOCKSTATUS_RAID_LOCKED 
LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL 
LFG_LOCKSTATUS_ATTUNEMENT_TOO_HIGH_LEVEL 
LFG_LOCKSTATUS_QUEST_NOT_COMPLETED 
LFG_LOCKSTATUS_MISSING_ITEM 
LFG_LOCKSTATUS_NOT_IN_SEASON 
LFG_LOCKSTATUS_MISSING_ACHIEVEMENT 
80 {
93 };
@ LFG_LOCKSTATUS_INSUFFICIENT_EXPANSION
Definition: LFG.h:81
@ LFG_LOCKSTATUS_TOO_LOW_LEVEL
Definition: LFG.h:82
@ LFG_LOCKSTATUS_RAID_LOCKED
Definition: LFG.h:86
@ LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE
Definition: LFG.h:84
@ LFG_LOCKSTATUS_MISSING_ITEM
Definition: LFG.h:90
@ LFG_LOCKSTATUS_TOO_HIGH_LEVEL
Definition: LFG.h:83
@ LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE
Definition: LFG.h:85
@ LFG_LOCKSTATUS_ATTUNEMENT_TOO_HIGH_LEVEL
Definition: LFG.h:88
@ LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL
Definition: LFG.h:87
@ LFG_LOCKSTATUS_MISSING_ACHIEVEMENT
Definition: LFG.h:92
@ LFG_LOCKSTATUS_NOT_IN_SEASON
Definition: LFG.h:91
@ LFG_LOCKSTATUS_QUEST_NOT_COMPLETED
Definition: LFG.h:89

◆ LFGMgrEnum

Enumerator
LFG_TIME_ROLECHECK 
LFG_TIME_BOOT 
LFG_TIME_PROPOSAL 
LFG_QUEUEUPDATE_INTERVAL 
LFG_SPELL_DUNGEON_COOLDOWN 
LFG_SPELL_DUNGEON_DESERTER 
LFG_SPELL_LUCK_OF_THE_DRAW 
LFG_GROUP_KICK_VOTES_NEEDED 
47 {
49 LFG_TIME_BOOT = 120,
56 };
constexpr auto IN_MILLISECONDS
Definition: Common.h:53
@ LFG_SPELL_DUNGEON_DESERTER
Definition: cs_deserter.cpp:35
@ LFG_SPELL_DUNGEON_COOLDOWN
Definition: LFGMgr.h:52
@ LFG_TIME_BOOT
Definition: LFGMgr.h:49
@ LFG_TIME_PROPOSAL
Definition: LFGMgr.h:50
@ LFG_GROUP_KICK_VOTES_NEEDED
Definition: LFGMgr.h:55
@ LFG_TIME_ROLECHECK
Definition: LFGMgr.h:48
@ LFG_SPELL_LUCK_OF_THE_DRAW
Definition: LFGMgr.h:54
@ LFG_QUEUEUPDATE_INTERVAL
Definition: LFGMgr.h:51

◆ LfgOptions

Enumerator
LFG_OPTION_ENABLE_DUNGEON_FINDER 
LFG_OPTION_ENABLE_RAID_BROWSER 
LFG_OPTION_ENABLE_SEASONAL_BOSSES 
40 {
44 };
@ LFG_OPTION_ENABLE_SEASONAL_BOSSES
Definition: LFGMgr.h:43
@ LFG_OPTION_ENABLE_DUNGEON_FINDER
Definition: LFGMgr.h:41
@ LFG_OPTION_ENABLE_RAID_BROWSER
Definition: LFGMgr.h:42

◆ LfgProposalState

Proposal states.

Enumerator
LFG_PROPOSAL_INITIATING 
LFG_PROPOSAL_FAILED 
LFG_PROPOSAL_SUCCESS 
79 {
83 };
@ LFG_PROPOSAL_SUCCESS
Definition: LFGMgr.h:82
@ LFG_PROPOSAL_FAILED
Definition: LFGMgr.h:81
@ LFG_PROPOSAL_INITIATING
Definition: LFGMgr.h:80

◆ LfgRoleCheckState

Role check states.

Enumerator
LFG_ROLECHECK_DEFAULT 
LFG_ROLECHECK_FINISHED 
LFG_ROLECHECK_INITIALITING 
LFG_ROLECHECK_MISSING_ROLE 
LFG_ROLECHECK_WRONG_ROLES 
LFG_ROLECHECK_ABORTED 
LFG_ROLECHECK_NO_ROLE 
123 {
124 LFG_ROLECHECK_DEFAULT = 0, // Internal use = Not initialized.
125 LFG_ROLECHECK_FINISHED = 1, // Role check finished
126 LFG_ROLECHECK_INITIALITING = 2, // Role check begins
127 LFG_ROLECHECK_MISSING_ROLE = 3, // Someone didn't selected a role after 2 mins
128 LFG_ROLECHECK_WRONG_ROLES = 4, // Can't form a group with that role selection
129 LFG_ROLECHECK_ABORTED = 5, // Someone leave the group
130 LFG_ROLECHECK_NO_ROLE = 6 // Someone selected no role
131 };
@ LFG_ROLECHECK_WRONG_ROLES
Definition: LFGMgr.h:128
@ LFG_ROLECHECK_MISSING_ROLE
Definition: LFGMgr.h:127
@ LFG_ROLECHECK_ABORTED
Definition: LFGMgr.h:129
@ LFG_ROLECHECK_DEFAULT
Definition: LFGMgr.h:124
@ LFG_ROLECHECK_FINISHED
Definition: LFGMgr.h:125
@ LFG_ROLECHECK_NO_ROLE
Definition: LFGMgr.h:130
@ LFG_ROLECHECK_INITIALITING
Definition: LFGMgr.h:126

◆ LfgRoles

Enumerator
PLAYER_ROLE_NONE 
PLAYER_ROLE_LEADER 
PLAYER_ROLE_TANK 
PLAYER_ROLE_HEALER 
PLAYER_ROLE_DAMAGE 
38 {
39 PLAYER_ROLE_NONE = 0x00,
40 PLAYER_ROLE_LEADER = 0x01,
41 PLAYER_ROLE_TANK = 0x02,
42 PLAYER_ROLE_HEALER = 0x04,
44 };
@ PLAYER_ROLE_DAMAGE
Definition: LFG.h:43
@ PLAYER_ROLE_TANK
Definition: LFG.h:41
@ PLAYER_ROLE_NONE
Definition: LFG.h:39
@ PLAYER_ROLE_LEADER
Definition: LFG.h:40
@ PLAYER_ROLE_HEALER
Definition: LFG.h:42

◆ LfgSeasonalDungeons

Enumerator
LFG_DUNGEON_HEADLESS_HORSEMAN 
LFG_DUNGEON_FROST_LORD_AHUNE 
LFG_DUNGEON_COREN_DIREBREW 
LFG_DUNGEON_CROWN_CHEMICAL_CO 
147 {
152 };
@ LFG_DUNGEON_FROST_LORD_AHUNE
Definition: LFGMgr.h:149
@ LFG_DUNGEON_HEADLESS_HORSEMAN
Definition: LFGMgr.h:148
@ LFG_DUNGEON_CROWN_CHEMICAL_CO
Definition: LFGMgr.h:151
@ LFG_DUNGEON_COREN_DIREBREW
Definition: LFGMgr.h:150

◆ LfgState

Enumerator
LFG_STATE_NONE 
LFG_STATE_ROLECHECK 
LFG_STATE_QUEUED 
LFG_STATE_PROPOSAL 
LFG_STATE_BOOT 
LFG_STATE_DUNGEON 
LFG_STATE_FINISHED_DUNGEON 
LFG_STATE_RAIDBROWSER 
67 {
68 LFG_STATE_NONE, // Not using LFG / LFR
69 LFG_STATE_ROLECHECK, // Rolecheck active
70 LFG_STATE_QUEUED, // Queued
71 LFG_STATE_PROPOSAL, // Proposal active
72 LFG_STATE_BOOT, // Vote kick active
73 LFG_STATE_DUNGEON, // In LFG Group, in a Dungeon
74 LFG_STATE_FINISHED_DUNGEON, // In LFG Group, in a finished Dungeon
75 LFG_STATE_RAIDBROWSER // Using Raid finder
76 };
@ LFG_STATE_RAIDBROWSER
Definition: LFG.h:75
@ LFG_STATE_ROLECHECK
Definition: LFG.h:69
@ LFG_STATE_FINISHED_DUNGEON
Definition: LFG.h:74
@ LFG_STATE_DUNGEON
Definition: LFG.h:73
@ LFG_STATE_PROPOSAL
Definition: LFG.h:71
@ LFG_STATE_BOOT
Definition: LFG.h:72
@ LFG_STATE_NONE
Definition: LFG.h:68
@ LFG_STATE_QUEUED
Definition: LFG.h:70

◆ LfgTeleportError

Teleport errors.

Enumerator
LFG_TELEPORTERROR_OK 
LFG_TELEPORTERROR_PLAYER_DEAD 
LFG_TELEPORTERROR_FALLING 
LFG_TELEPORTERROR_IN_VEHICLE 
LFG_TELEPORTERROR_FATIGUE 
LFG_TELEPORTERROR_INVALID_LOCATION 
LFG_TELEPORTERROR_COMBAT 
87 {
88 // 7 = "You can't do that right now" | 5 = No client reaction
89 LFG_TELEPORTERROR_OK = 0, // Internal use
95 LFG_TELEPORTERROR_COMBAT = 8 // FIXME - It can be 7 or 8 (Need proper data)
96 };
@ LFG_TELEPORTERROR_INVALID_LOCATION
Definition: LFGMgr.h:94
@ LFG_TELEPORTERROR_OK
Definition: LFGMgr.h:89
@ LFG_TELEPORTERROR_FATIGUE
Definition: LFGMgr.h:93
@ LFG_TELEPORTERROR_COMBAT
Definition: LFGMgr.h:95
@ LFG_TELEPORTERROR_PLAYER_DEAD
Definition: LFGMgr.h:90
@ LFG_TELEPORTERROR_FALLING
Definition: LFGMgr.h:91
@ LFG_TELEPORTERROR_IN_VEHICLE
Definition: LFGMgr.h:92

◆ LfgType

Determines the type of instance.

Enumerator
LFG_TYPE_NONE 
LFG_TYPE_DUNGEON 
LFG_TYPE_RAID 
LFG_TYPE_ZONE 
LFG_TYPE_HEROIC 
LFG_TYPE_RANDOM 
68 {
69 LFG_TYPE_NONE = 0,
71 LFG_TYPE_RAID = 2,
72 LFG_TYPE_ZONE = 4,
75 };
@ LFG_TYPE_NONE
Definition: LFGMgr.h:69
@ LFG_TYPE_ZONE
Definition: LFGMgr.h:72
@ LFG_TYPE_RANDOM
Definition: LFGMgr.h:74
@ LFG_TYPE_RAID
Definition: LFGMgr.h:71
@ LFG_TYPE_DUNGEON
Definition: LFGMgr.h:70
@ LFG_TYPE_HEROIC
Definition: LFGMgr.h:73

◆ LfgUpdateFlag

Enumerator
LFG_UPDATE_FLAG_NONE 
LFG_UPDATE_FLAG_CHARACTERINFO 
LFG_UPDATE_FLAG_COMMENT 
LFG_UPDATE_FLAG_GROUPLEADER 
LFG_UPDATE_FLAG_GROUPGUID 
LFG_UPDATE_FLAG_ROLES 
LFG_UPDATE_FLAG_AREA 
LFG_UPDATE_FLAG_STATUS 
LFG_UPDATE_FLAG_BINDED 
134 {
144 };
@ LFG_UPDATE_FLAG_AREA
Definition: LFGMgr.h:141
@ LFG_UPDATE_FLAG_BINDED
Definition: LFGMgr.h:143
@ LFG_UPDATE_FLAG_GROUPLEADER
Definition: LFGMgr.h:138
@ LFG_UPDATE_FLAG_STATUS
Definition: LFGMgr.h:142
@ LFG_UPDATE_FLAG_NONE
Definition: LFGMgr.h:135
@ LFG_UPDATE_FLAG_COMMENT
Definition: LFGMgr.h:137
@ LFG_UPDATE_FLAG_CHARACTERINFO
Definition: LFGMgr.h:136
@ LFG_UPDATE_FLAG_ROLES
Definition: LFGMgr.h:140
@ LFG_UPDATE_FLAG_GROUPGUID
Definition: LFGMgr.h:139

◆ LfgUpdateType

Enumerator
LFG_UPDATETYPE_DEFAULT 
LFG_UPDATETYPE_LEADER_UNK1 
LFG_UPDATETYPE_LEAVE_RAIDBROWSER 
LFG_UPDATETYPE_JOIN_RAIDBROWSER 
LFG_UPDATETYPE_ROLECHECK_ABORTED 
LFG_UPDATETYPE_JOIN_QUEUE 
LFG_UPDATETYPE_ROLECHECK_FAILED 
LFG_UPDATETYPE_REMOVED_FROM_QUEUE 
LFG_UPDATETYPE_PROPOSAL_FAILED 
LFG_UPDATETYPE_PROPOSAL_DECLINED 
LFG_UPDATETYPE_GROUP_FOUND 
LFG_UPDATETYPE_ADDED_TO_QUEUE 
LFG_UPDATETYPE_PROPOSAL_BEGIN 
LFG_UPDATETYPE_UPDATE_STATUS 
LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE 
LFG_UPDATETYPE_GROUP_DISBAND_UNK16 
47 {
48 LFG_UPDATETYPE_DEFAULT = 0, // Internal Use
49 LFG_UPDATETYPE_LEADER_UNK1 = 1, // FIXME: At group leave
63 LFG_UPDATETYPE_GROUP_DISBAND_UNK16 = 16, // FIXME: Sometimes at group disband
64 };
@ LFG_UPDATETYPE_JOIN_RAIDBROWSER
Definition: LFG.h:51
@ LFG_UPDATETYPE_ROLECHECK_FAILED
Definition: LFG.h:54
@ LFG_UPDATETYPE_GROUP_FOUND
Definition: LFG.h:58
@ LFG_UPDATETYPE_DEFAULT
Definition: LFG.h:48
@ LFG_UPDATETYPE_ADDED_TO_QUEUE
Definition: LFG.h:59
@ LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE
Definition: LFG.h:62
@ LFG_UPDATETYPE_UPDATE_STATUS
Definition: LFG.h:61
@ LFG_UPDATETYPE_PROPOSAL_FAILED
Definition: LFG.h:56
@ LFG_UPDATETYPE_GROUP_DISBAND_UNK16
Definition: LFG.h:63
@ LFG_UPDATETYPE_PROPOSAL_DECLINED
Definition: LFG.h:57
@ LFG_UPDATETYPE_ROLECHECK_ABORTED
Definition: LFG.h:52
@ LFG_UPDATETYPE_REMOVED_FROM_QUEUE
Definition: LFG.h:55
@ LFG_UPDATETYPE_LEADER_UNK1
Definition: LFG.h:49
@ LFG_UPDATETYPE_PROPOSAL_BEGIN
Definition: LFG.h:60
@ LFG_UPDATETYPE_JOIN_QUEUE
Definition: LFG.h:53
@ LFG_UPDATETYPE_LEAVE_RAIDBROWSER
Definition: LFG.h:50

Function Documentation

◆ AddSC_LFGScripts()

void lfg::AddSC_LFGScripts ( )
320 {
321 new LFGPlayerScript();
322 new LFGGroupScript();
323 }
Definition: LFGScripts.h:32
Definition: LFGScripts.h:45

Referenced by ScriptMgr::Initialize().

◆ ConcatenateDungeons()

std::string lfg::ConcatenateDungeons ( LfgDungeonSet const &  dungeons)
25 {
26 std::string dungeonstr = "";
27 if (!dungeons.empty())
28 {
29 std::ostringstream o;
30 LfgDungeonSet::const_iterator it = dungeons.begin();
31 o << (*it);
32 for (++it; it != dungeons.end(); ++it)
33 o << ", " << uint32(*it);
34 dungeonstr = o.str();
35 }
36 return dungeonstr;
37 }
std::uint32_t uint32
Definition: Define.h:107

Referenced by GetPlayerInfo().

◆ format_as()

template<typename T , FMT_ENABLE_IF(std::is_enum_v< T >) >
auto lfg::format_as ( f)
637{ return fmt::underlying(f); }

◆ GetRolesString()

std::string lfg::GetRolesString ( uint8  roles)
40 {
41 std::string rolesstr = "";
42
43 if (roles & PLAYER_ROLE_TANK)
44 rolesstr.append(sObjectMgr->GetAcoreStringForDBCLocale(LANG_LFG_ROLE_TANK));
45
46 if (roles & PLAYER_ROLE_HEALER)
47 {
48 if (!rolesstr.empty())
49 rolesstr.append(", ");
50 rolesstr.append(sObjectMgr->GetAcoreStringForDBCLocale(LANG_LFG_ROLE_HEALER));
51 }
52
53 if (roles & PLAYER_ROLE_DAMAGE)
54 {
55 if (!rolesstr.empty())
56 rolesstr.append(", ");
57 rolesstr.append(sObjectMgr->GetAcoreStringForDBCLocale(LANG_LFG_ROLE_DAMAGE));
58 }
59
60 if (roles & PLAYER_ROLE_LEADER)
61 {
62 if (!rolesstr.empty())
63 rolesstr.append(", ");
64 rolesstr.append(sObjectMgr->GetAcoreStringForDBCLocale(LANG_LFG_ROLE_LEADER));
65 }
66
67 if (rolesstr.empty())
68 rolesstr.append(sObjectMgr->GetAcoreStringForDBCLocale(LANG_LFG_ROLE_NONE));
69
70 return rolesstr;
71 }
@ LANG_LFG_ROLE_TANK
Definition: Language.h:1188
@ LANG_LFG_ROLE_LEADER
Definition: Language.h:1191
@ LANG_LFG_ROLE_HEALER
Definition: Language.h:1189
@ LANG_LFG_ROLE_NONE
Definition: Language.h:1192
@ LANG_LFG_ROLE_DAMAGE
Definition: Language.h:1190
#define sObjectMgr
Definition: ObjectMgr.h:1632

References LANG_LFG_ROLE_DAMAGE, LANG_LFG_ROLE_HEALER, LANG_LFG_ROLE_LEADER, LANG_LFG_ROLE_NONE, LANG_LFG_ROLE_TANK, PLAYER_ROLE_DAMAGE, PLAYER_ROLE_HEALER, PLAYER_ROLE_LEADER, PLAYER_ROLE_TANK, and sObjectMgr.

Referenced by GetPlayerInfo().

◆ GetStateString()

std::string lfg::GetStateString ( LfgState  state)
74 {
75 int32 entry = LANG_LFG_ERROR;
76 switch (state)
77 {
78 case LFG_STATE_NONE:
79 entry = LANG_LFG_STATE_NONE;
80 break;
83 break;
86 break;
89 break;
92 break;
93 case LFG_STATE_BOOT:
94 entry = LANG_LFG_STATE_BOOT;
95 break;
98 break;
101 break;
102 }
103
104 return std::string(sObjectMgr->GetAcoreStringForDBCLocale(entry));
105 }
std::int32_t int32
Definition: Define.h:103
@ LANG_LFG_STATE_BOOT
Definition: Language.h:1184
@ LANG_LFG_STATE_PROPOSAL
Definition: Language.h:1183
@ LANG_LFG_ERROR
Definition: Language.h:1193
@ LANG_LFG_STATE_ROLECHECK
Definition: Language.h:1181
@ LANG_LFG_STATE_RAIDBROWSER
Definition: Language.h:1187
@ LANG_LFG_STATE_DUNGEON
Definition: Language.h:1185
@ LANG_LFG_STATE_NONE
Definition: Language.h:1180
@ LANG_LFG_STATE_FINISHED_DUNGEON
Definition: Language.h:1186
@ LANG_LFG_STATE_QUEUED
Definition: Language.h:1182

References LANG_LFG_ERROR, LANG_LFG_STATE_BOOT, LANG_LFG_STATE_DUNGEON, LANG_LFG_STATE_FINISHED_DUNGEON, LANG_LFG_STATE_NONE, LANG_LFG_STATE_PROPOSAL, LANG_LFG_STATE_QUEUED, LANG_LFG_STATE_RAIDBROWSER, LANG_LFG_STATE_ROLECHECK, LFG_STATE_BOOT, LFG_STATE_DUNGEON, LFG_STATE_FINISHED_DUNGEON, LFG_STATE_NONE, LFG_STATE_PROPOSAL, LFG_STATE_QUEUED, LFG_STATE_RAIDBROWSER, LFG_STATE_ROLECHECK, and sObjectMgr.

Referenced by GetPlayerInfo(), lfg_commandscript::HandleLfgGroupInfoCommand(), and lfg::LFGMgr::SetState().