TrinityCore
lfg Namespace Reference

Classes

struct  LfgCompatibilityData
 
struct  LFGDungeonData
 
class  LfgGroupData
 
class  LFGGroupScript
 
struct  LfgJoinResultData
 
struct  LfgLockInfoData
 
class  LFGMgr
 
struct  LfgPlayerBoot
 Stores information of a current vote to kick someone from a group. More...
 
class  LfgPlayerData
 
struct  LfgPlayerRewardData
 
class  LFGPlayerScript
 
struct  LfgProposal
 Stores group data related to proposal to join. More...
 
struct  LfgProposalPlayer
 Stores player data related to proposal to join. More...
 
class  LFGQueue
 
struct  LfgQueueData
 Stores player or group queue info. More...
 
struct  LfgQueueStatusData
 
struct  LfgReward
 Reward info. More...
 
struct  LfgRoleCheck
 Stores all rolecheck info of a group that wants to join. More...
 
struct  LfgUpdateData
 
struct  LfgWaitTime
 

Typedefs

typedef std::set< uint32LfgDungeonSet
 
typedef std::map< uint32, LfgLockInfoDataLfgLockMap
 
typedef std::map< ObjectGuid, LfgLockMapLfgLockPartyMap
 
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< std::string, LfgCompatibilityDataLfgCompatibleContainer
 
typedef std::map< ObjectGuid, LfgQueueDataLfgQueueDataContainer
 

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, PLAYER_ROLE_ANY = PLAYER_ROLE_LEADER | PLAYER_ROLE_TANK | PLAYER_ROLE_HEALER | PLAYER_ROLE_DAMAGE
}
 
enum  LfgUpdateType {
  LFG_UPDATETYPE_DEFAULT = 0, LFG_UPDATETYPE_LEADER_UNK1 = 1, LFG_UPDATETYPE_ROLECHECK_ABORTED = 4, LFG_UPDATETYPE_JOIN_QUEUE = 6,
  LFG_UPDATETYPE_ROLECHECK_FAILED = 7, LFG_UPDATETYPE_REMOVED_FROM_QUEUE = 8, LFG_UPDATETYPE_PROPOSAL_FAILED = 9, LFG_UPDATETYPE_PROPOSAL_DECLINED = 10,
  LFG_UPDATETYPE_GROUP_FOUND = 11, LFG_UPDATETYPE_ADDED_TO_QUEUE = 13, LFG_UPDATETYPE_SUSPENDED_QUEUE = 14, LFG_UPDATETYPE_PROPOSAL_BEGIN = 15,
  LFG_UPDATETYPE_UPDATE_STATUS = 16, LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE = 17, LFG_UPDATETYPE_GROUP_DISBAND_UNK16 = 18, LFG_UPDATETYPE_JOIN_QUEUE_INITIAL = 25,
  LFG_UPDATETYPE_DUNGEON_FINISHED = 26, LFG_UPDATETYPE_PARTY_ROLE_NOT_AVAILABLE = 46, LFG_UPDATETYPE_JOIN_LFG_OBJECT_FAILED = 48, LFG_UPDATETYPE_REMOVED_LEVELUP = 49,
  LFG_UPDATETYPE_REMOVED_XP_TOGGLE = 50, LFG_UPDATETYPE_REMOVED_FACTION_CHANGE = 51
}
 
enum  LfgState : uint8 {
  LFG_STATE_NONE, LFG_STATE_ROLECHECK, LFG_STATE_QUEUED, LFG_STATE_PROPOSAL,
  LFG_STATE_DUNGEON = 5, LFG_STATE_FINISHED_DUNGEON, LFG_STATE_RAIDBROWSER
}
 
enum  LfgQueueType {
  LFG_QUEUE_DUNGEON = 1, LFG_QUEUE_LFR = 2, LFG_QUEUE_SCENARIO = 3, LFG_QUEUE_FLEX = 4,
  LFG_QUEUE_WORLD_PVP = 5, LFG_QUEUE_SCHEDULED_PVP = 6
}
 
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_NO_SPEC = 14, LFG_LOCKSTATUS_HAS_RESTRICTION = 15,
  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  LfgGroupEnum { LFG_GROUP_MAX_KICKS = 3 }
 
enum  LfgOptions { LFG_OPTION_ENABLE_DUNGEON_FINDER = 0x01, LFG_OPTION_ENABLE_RAID_BROWSER = 0x02 }
 
enum  LFGMgrEnum {
  LFG_TIME_ROLECHECK = 45, LFG_TIME_BOOT = 120, LFG_TIME_PROPOSAL = 45, LFG_QUEUEUPDATE_INTERVAL = 15 * 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_QUEST = 3,
  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  LfgTeleportResult : uint8 {
  LFG_TELEPORT_RESULT_NONE = 0, LFG_TELEPORT_RESULT_DEAD = 1, LFG_TELEPORT_RESULT_FALLING = 2, LFG_TELEPORT_RESULT_ON_TRANSPORT = 3,
  LFG_TELEPORT_RESULT_EXHAUSTION = 4, LFG_TELEPORT_RESULT_NO_RETURN_LOCATION = 6, LFG_TELEPORT_RESULT_IMMUNE_TO_SUMMONS = 8
}
 Teleport errors. More...
 
enum  LfgJoinResult {
  LFG_JOIN_OK = 0x00, LFG_JOIN_GROUP_FULL = 0x1F, LFG_JOIN_NO_LFG_OBJECT = 0x21, LFG_JOIN_NO_SLOTS = 0x22,
  LFG_JOIN_MISMATCHED_SLOTS = 0x23, LFG_JOIN_PARTY_PLAYERS_FROM_DIFFERENT_REALMS = 0x24, LFG_JOIN_MEMBERS_NOT_PRESENT = 0x25, LFG_JOIN_GET_INFO_TIMEOUT = 0x26,
  LFG_JOIN_INVALID_SLOT = 0x27, LFG_JOIN_DESERTER_PLAYER = 0x28, LFG_JOIN_DESERTER_PARTY = 0x29, LFG_JOIN_RANDOM_COOLDOWN_PLAYER = 0x2A,
  LFG_JOIN_RANDOM_COOLDOWN_PARTY = 0x2B, LFG_JOIN_TOO_MANY_MEMBERS = 0x2C, LFG_JOIN_CANT_USE_DUNGEONS = 0x2D, LFG_JOIN_ROLE_CHECK_FAILED = 0x2E,
  LFG_JOIN_TOO_FEW_MEMBERS = 0x34, LFG_JOIN_REASON_TOO_MANY_LFG = 0x35, LFG_JOIN_MISMATCHED_SLOTS_LOCAL_XREALM = 0x37, LFG_JOIN_ALREADY_USING_LFG_LIST = 0x3F,
  LFG_JOIN_NOT_LEADER = 0x45, LFG_JOIN_DEAD = 0x49, LFG_JOIN_PARTY_NOT_MEET_REQS = 6
}
 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  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_BAD_STATES, LFG_COMPATIBLES_MATCH
}
 

Functions

std::string ConcatenateDungeons (LfgDungeonSet const &dungeons)
 
std::string GetRolesString (uint8 roles)
 
std::string GetStateString (LfgState state)
 
std::string ConcatenateGuids (GuidList const &check)
 
char const * GetCompatibleString (LfgCompatibility compatibles)
 
void AddSC_LFGScripts ()
 

Typedef Documentation

◆ LfgAnswerContainer

◆ LfgCachedDungeonContainer

◆ LfgCompatibleContainer

typedef std::map<std::string, LfgCompatibilityData> lfg::LfgCompatibleContainer

◆ LFGDungeonContainer

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

◆ LfgDungeonSet

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

◆ LfgGroupDataContainer

◆ LfgGroupsMap

◆ 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 
116 {
117  LFG_ANSWER_PENDING = -1,
118  LFG_ANSWER_DENY = 0,
119  LFG_ANSWER_AGREE = 1
120 };
Definition: LFG.h:117
Definition: LFG.h:118
Definition: LFG.h:119

◆ 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_BAD_STATES 
LFG_COMPATIBLES_MATCH 
28 {
36  LFG_COMPATIBLES_WITH_LESS_PLAYERS, // Values under this = not compatible (do not modify order)
38  LFG_COMPATIBLES_MATCH // Must be the last one
39 };
Definition: LFGQueue.h:35
Definition: LFGQueue.h:37
Definition: LFGQueue.h:38
Definition: LFGQueue.h:34
Definition: LFGQueue.h:33
Definition: LFGQueue.h:29

◆ LFGEnum

Enumerator
LFG_TANKS_NEEDED 
LFG_HEALERS_NEEDED 
LFG_DPS_NEEDED 
31 {
32  LFG_TANKS_NEEDED = 1,
34  LFG_DPS_NEEDED = 3
35 };
Definition: LFG.h:32
Definition: LFG.h:33
Definition: LFG.h:34

◆ LfgFlags

Enumerator
LFG_FLAG_UNK1 
LFG_FLAG_UNK2 
LFG_FLAG_SEASONAL 
LFG_FLAG_UNK3 
66 {
67  LFG_FLAG_UNK1 = 0x1,
68  LFG_FLAG_UNK2 = 0x2,
69  LFG_FLAG_SEASONAL = 0x4,
70  LFG_FLAG_UNK3 = 0x8
71 };
Definition: LFGMgr.h:70
Definition: LFGMgr.h:68
Definition: LFGMgr.h:67
Definition: LFGMgr.h:69

◆ LfgGroupEnum

Enumerator
LFG_GROUP_MAX_KICKS 
27 {
29 };
Definition: LFGGroupData.h:28

◆ LfgJoinResult

Queue join results.

Enumerator
LFG_JOIN_OK 
LFG_JOIN_GROUP_FULL 
LFG_JOIN_NO_LFG_OBJECT 
LFG_JOIN_NO_SLOTS 
LFG_JOIN_MISMATCHED_SLOTS 
LFG_JOIN_PARTY_PLAYERS_FROM_DIFFERENT_REALMS 
LFG_JOIN_MEMBERS_NOT_PRESENT 
LFG_JOIN_GET_INFO_TIMEOUT 
LFG_JOIN_INVALID_SLOT 
LFG_JOIN_DESERTER_PLAYER 
LFG_JOIN_DESERTER_PARTY 
LFG_JOIN_RANDOM_COOLDOWN_PLAYER 
LFG_JOIN_RANDOM_COOLDOWN_PARTY 
LFG_JOIN_TOO_MANY_MEMBERS 
LFG_JOIN_CANT_USE_DUNGEONS 
LFG_JOIN_ROLE_CHECK_FAILED 
LFG_JOIN_TOO_FEW_MEMBERS 
LFG_JOIN_REASON_TOO_MANY_LFG 
LFG_JOIN_MISMATCHED_SLOTS_LOCAL_XREALM 
LFG_JOIN_ALREADY_USING_LFG_LIST 
LFG_JOIN_NOT_LEADER 
LFG_JOIN_DEAD 
LFG_JOIN_PARTY_NOT_MEET_REQS 
113 {
114  // 3 = No client reaction | 18 = "Rolecheck failed"
115  LFG_JOIN_OK = 0x00, // Joined (no client msg)
116  LFG_JOIN_GROUP_FULL = 0x1F, // Your group is already full.
117  LFG_JOIN_NO_LFG_OBJECT = 0x21, // Internal LFG Error.
118  LFG_JOIN_NO_SLOTS = 0x22, // You do not meet the requirements for the chosen dungeons.
119  LFG_JOIN_MISMATCHED_SLOTS = 0x23, // You cannot mix dungeons, raids, and random when picking dungeons.
120  LFG_JOIN_PARTY_PLAYERS_FROM_DIFFERENT_REALMS = 0x24, // The dungeon you chose does not support players from multiple realms.
121  LFG_JOIN_MEMBERS_NOT_PRESENT = 0x25, // One or more group members are pending invites or disconnected.
122  LFG_JOIN_GET_INFO_TIMEOUT = 0x26, // Could not retrieve information about some party members.
123  LFG_JOIN_INVALID_SLOT = 0x27, // One or more dungeons was not valid.
124  LFG_JOIN_DESERTER_PLAYER = 0x28, // You can not queue for dungeons until your deserter debuff wears off.
125  LFG_JOIN_DESERTER_PARTY = 0x29, // One or more party members has a deserter debuff.
126  LFG_JOIN_RANDOM_COOLDOWN_PLAYER = 0x2A, // You can not queue for random dungeons while on random dungeon cooldown.
127  LFG_JOIN_RANDOM_COOLDOWN_PARTY = 0x2B, // One or more party members are on random dungeon cooldown.
128  LFG_JOIN_TOO_MANY_MEMBERS = 0x2C, // You have too many group members to queue for that.
129  LFG_JOIN_CANT_USE_DUNGEONS = 0x2D, // You cannot queue for a dungeon or raid while using battlegrounds or arenas.
130  LFG_JOIN_ROLE_CHECK_FAILED = 0x2E, // The Role Check has failed.
131  LFG_JOIN_TOO_FEW_MEMBERS = 0x34, // You do not have enough group members to queue for that.
132  LFG_JOIN_REASON_TOO_MANY_LFG = 0x35, // You are queued for too many instances.
133  LFG_JOIN_MISMATCHED_SLOTS_LOCAL_XREALM = 0x37, // You cannot mix realm-only and x-realm entries when listing your name in other raids.
134  LFG_JOIN_ALREADY_USING_LFG_LIST = 0x3F, // You can't do that while using Premade Groups.
135  LFG_JOIN_NOT_LEADER = 0x45, // You are not the party leader.
136  LFG_JOIN_DEAD = 0x49,
137 
138  LFG_JOIN_PARTY_NOT_MEET_REQS = 6, // One or more party members do not meet the requirements for the chosen dungeons (FIXME)
139 };
Definition: LFGMgr.h:121
Definition: LFGMgr.h:127
Definition: LFGMgr.h:117
Definition: LFGMgr.h:126
Definition: LFGMgr.h:118
Definition: LFGMgr.h:130
Definition: LFGMgr.h:134
Definition: LFGMgr.h:119
Definition: LFGMgr.h:138
Definition: LFGMgr.h:129
Definition: LFGMgr.h:122
Definition: LFGMgr.h:131
Definition: LFGMgr.h:135
Definition: LFGMgr.h:128
Definition: LFGMgr.h:123
Definition: LFGMgr.h:136
Definition: LFGMgr.h:115
Definition: LFGMgr.h:132
Definition: LFGMgr.h:116
Definition: LFGMgr.h:125
Definition: LFGMgr.h:124

◆ 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_NO_SPEC 
LFG_LOCKSTATUS_HAS_RESTRICTION 
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 

◆ 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 
54 {
55  LFG_TIME_ROLECHECK = 45,
56  LFG_TIME_BOOT = 120,
57  LFG_TIME_PROPOSAL = 45,
63 };
Definition: LFGMgr.h:56
Definition: LFGMgr.h:61
Definition: LFGMgr.h:62
Definition: LFGMgr.h:58
Definition: LFGMgr.h:55
Definition: LFGMgr.h:57
Definition: Common.h:68
Definition: LFGMgr.h:59
Definition: cs_deserter.cpp:37

◆ LfgOptions

Enumerator
LFG_OPTION_ENABLE_DUNGEON_FINDER 
LFG_OPTION_ENABLE_RAID_BROWSER 

◆ LfgProposalState

Proposal states.

Enumerator
LFG_PROPOSAL_INITIATING 
LFG_PROPOSAL_FAILED 
LFG_PROPOSAL_SUCCESS 
87 {
91 };
Definition: LFGMgr.h:90
Definition: LFGMgr.h:89
Definition: LFGMgr.h:88

◆ LfgQueueType

Enumerator
LFG_QUEUE_DUNGEON 
LFG_QUEUE_LFR 
LFG_QUEUE_SCENARIO 
LFG_QUEUE_FLEX 
LFG_QUEUE_WORLD_PVP 
LFG_QUEUE_SCHEDULED_PVP 
86 {
88  LFG_QUEUE_LFR = 2,
90  LFG_QUEUE_FLEX = 4,
92  LFG_QUEUE_SCHEDULED_PVP = 6, // pvp brawl
93 };
Definition: LFG.h:90
Definition: LFG.h:91
Definition: LFG.h:92
Definition: LFG.h:89
Definition: LFG.h:88
Definition: LFG.h:87

◆ 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 
143 {
144  LFG_ROLECHECK_DEFAULT = 0, // Internal use = Not initialized.
145  LFG_ROLECHECK_FINISHED = 1, // Role check finished
146  LFG_ROLECHECK_INITIALITING = 2, // Role check begins
147  LFG_ROLECHECK_MISSING_ROLE = 3, // Someone didn't selected a role after 2 mins
148  LFG_ROLECHECK_WRONG_ROLES = 4, // Can't form a group with that role selection
149  LFG_ROLECHECK_ABORTED = 5, // Someone leave the group
150  LFG_ROLECHECK_NO_ROLE = 6 // Someone selected no role
151 };
Definition: LFGMgr.h:144
Definition: LFGMgr.h:147
Definition: LFGMgr.h:149
Definition: LFGMgr.h:145
Definition: LFGMgr.h:150
Definition: LFGMgr.h:148
Definition: LFGMgr.h:146

◆ LfgRoles

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

◆ LfgState

Enumerator
LFG_STATE_NONE 
LFG_STATE_ROLECHECK 
LFG_STATE_QUEUED 
LFG_STATE_PROPOSAL 
LFG_STATE_DUNGEON 
LFG_STATE_FINISHED_DUNGEON 
LFG_STATE_RAIDBROWSER 
73  : uint8
74 {
75  LFG_STATE_NONE, // Not using LFG / LFR
76  LFG_STATE_ROLECHECK, // Rolecheck active
77  LFG_STATE_QUEUED, // Queued
78  LFG_STATE_PROPOSAL, // Proposal active
79  //LFG_STATE_BOOT, // Vote kick active
80  LFG_STATE_DUNGEON = 5, // In LFG Group, in a Dungeon
81  LFG_STATE_FINISHED_DUNGEON, // In LFG Group, in a finished Dungeon
82  LFG_STATE_RAIDBROWSER // Using Raid finder
83 };
Definition: LFG.h:76
Definition: LFG.h:82
Definition: LFG.h:75
Definition: LFG.h:80
Definition: LFG.h:78
uint8_t uint8
Definition: Define.h:145
Definition: LFG.h:77

◆ LfgTeleportResult

Teleport errors.

Enumerator
LFG_TELEPORT_RESULT_NONE 
LFG_TELEPORT_RESULT_DEAD 
LFG_TELEPORT_RESULT_FALLING 
LFG_TELEPORT_RESULT_ON_TRANSPORT 
LFG_TELEPORT_RESULT_EXHAUSTION 
LFG_TELEPORT_RESULT_NO_RETURN_LOCATION 
LFG_TELEPORT_RESULT_IMMUNE_TO_SUMMONS 
94  : uint8
95 {
96  // 7 = "You can't do that right now" | 5 = No client reaction
97  LFG_TELEPORT_RESULT_NONE = 0, // Internal use
103  LFG_TELEPORT_RESULT_IMMUNE_TO_SUMMONS = 8 // FIXME - It can be 7 or 8 (Need proper data)
104 
105  // unknown values
106  //LFG_TELEPORT_RESULT_NOT_IN_DUNGEON,
107  //LFG_TELEPORT_RESULT_NOT_ALLOWED,
108  //LFG_TELEPORT_RESULT_ALREADY_IN_DUNGEON
109 };
Definition: LFGMgr.h:101
Definition: LFGMgr.h:97
Definition: LFGMgr.h:99
uint8_t uint8
Definition: Define.h:145
Definition: LFGMgr.h:98

◆ LfgType

Determines the type of instance.

Enumerator
LFG_TYPE_NONE 
LFG_TYPE_DUNGEON 
LFG_TYPE_RAID 
LFG_TYPE_QUEST 
LFG_TYPE_ZONE 
LFG_TYPE_HEROIC 
LFG_TYPE_RANDOM 
75 {
76  LFG_TYPE_NONE = 0,
77  LFG_TYPE_DUNGEON = 1,
78  LFG_TYPE_RAID = 2,
79  LFG_TYPE_QUEST = 3,
80  LFG_TYPE_ZONE = 4,
81  LFG_TYPE_HEROIC = 5,
82  LFG_TYPE_RANDOM = 6
83 };
Definition: LFGMgr.h:80
Definition: LFGMgr.h:82
Definition: LFGMgr.h:79
Definition: LFGMgr.h:77
Definition: LFGMgr.h:76
Definition: LFGMgr.h:78
Definition: LFGMgr.h:81

◆ LfgUpdateType

Enumerator
LFG_UPDATETYPE_DEFAULT 
LFG_UPDATETYPE_LEADER_UNK1 
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_SUSPENDED_QUEUE 
LFG_UPDATETYPE_PROPOSAL_BEGIN 
LFG_UPDATETYPE_UPDATE_STATUS 
LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE 
LFG_UPDATETYPE_GROUP_DISBAND_UNK16 
LFG_UPDATETYPE_JOIN_QUEUE_INITIAL 
LFG_UPDATETYPE_DUNGEON_FINISHED 
LFG_UPDATETYPE_PARTY_ROLE_NOT_AVAILABLE 
LFG_UPDATETYPE_JOIN_LFG_OBJECT_FAILED 
LFG_UPDATETYPE_REMOVED_LEVELUP 
LFG_UPDATETYPE_REMOVED_XP_TOGGLE 
LFG_UPDATETYPE_REMOVED_FACTION_CHANGE 
48 {
49  LFG_UPDATETYPE_DEFAULT = 0, // Internal Use
50  LFG_UPDATETYPE_LEADER_UNK1 = 1, // FIXME: At group leave
63  LFG_UPDATETYPE_GROUP_DISBAND_UNK16 = 18, // FIXME: Sometimes at group disband
71 };
Definition: LFG.h:52
Definition: LFG.h:49

Function Documentation

◆ AddSC_LFGScripts()

void lfg::AddSC_LFGScripts ( )
249 {
250  new LFGPlayerScript();
251  new LFGGroupScript();
252 }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConcatenateDungeons()

TC_GAME_API std::string lfg::ConcatenateDungeons ( LfgDungeonSet const &  dungeons)
27 {
28  std::string dungeonstr = "";
29  if (!dungeons.empty())
30  {
31  std::ostringstream o;
32  LfgDungeonSet::const_iterator it = dungeons.begin();
33  o << (*it);
34  for (++it; it != dungeons.end(); ++it)
35  o << ", " << uint32(*it);
36  dungeonstr = o.str();
37  }
38  return dungeonstr;
39 }
uint32_t uint32
Definition: Define.h:143
+ Here is the caller graph for this function:

◆ ConcatenateGuids()

std::string lfg::ConcatenateGuids ( GuidList const &  check)

Given a list of guids returns the concatenation using | as delimiter

Parameters
[in]checklist of guids
Returns
Concatenated string
36 {
37  if (check.empty())
38  return "";
39 
40  // need the guids in order to avoid duplicates
41  GuidSet guids(check.begin(), check.end());
42 
43  std::ostringstream o;
44 
45  GuidSet::const_iterator it = guids.begin();
46  o << it->ToHexString();
47  for (++it; it != guids.end(); ++it)
48  o << '|' << it->ToHexString();
49 
50  return o.str();
51 }
std::set< ObjectGuid > GuidSet
Definition: ObjectGuid.h:385
+ Here is the caller graph for this function:

◆ GetCompatibleString()

char const* lfg::GetCompatibleString ( LfgCompatibility  compatibles)
54 {
55  switch (compatibles)
56  {
58  return "Pending";
60  return "Compatibles (Bad States)";
62  return "Match";
64  return "Compatibles (Not enough players)";
66  return "Has ignores";
68  return "Multiple Lfg Groups";
70  return "Incompatible dungeons";
72  return "Incompatible roles";
74  return "Too many players";
76  return "Wrong group size";
77  default:
78  return "Unknown";
79  }
80 }
Definition: LFGQueue.h:35
Definition: LFGQueue.h:37
Definition: LFGQueue.h:38
Definition: LFGQueue.h:34
Definition: LFGQueue.h:33
Definition: LFGQueue.h:29
+ Here is the caller graph for this function:

◆ GetRolesString()

TC_GAME_API std::string lfg::GetRolesString ( uint8  roles)
42 {
43  std::string rolesstr = "";
44 
45  if (roles & PLAYER_ROLE_TANK)
46  rolesstr.append(sObjectMgr->GetTrinityStringForDBCLocale(LANG_LFG_ROLE_TANK));
47 
48  if (roles & PLAYER_ROLE_HEALER)
49  {
50  if (!rolesstr.empty())
51  rolesstr.append(", ");
52  rolesstr.append(sObjectMgr->GetTrinityStringForDBCLocale(LANG_LFG_ROLE_HEALER));
53  }
54 
55  if (roles & PLAYER_ROLE_DAMAGE)
56  {
57  if (!rolesstr.empty())
58  rolesstr.append(", ");
59  rolesstr.append(sObjectMgr->GetTrinityStringForDBCLocale(LANG_LFG_ROLE_DAMAGE));
60  }
61 
62  if (roles & PLAYER_ROLE_LEADER)
63  {
64  if (!rolesstr.empty())
65  rolesstr.append(", ");
66  rolesstr.append(sObjectMgr->GetTrinityStringForDBCLocale(LANG_LFG_ROLE_LEADER));
67  }
68 
69  if (rolesstr.empty())
70  rolesstr.append(sObjectMgr->GetTrinityStringForDBCLocale(LANG_LFG_ROLE_NONE));
71 
72  return rolesstr;
73 }
Definition: LFG.h:42
Definition: LFG.h:40
Definition: Language.h:1189
Definition: LFG.h:43
Definition: Language.h:1191
#define sObjectMgr
Definition: ObjectMgr.h:1967
Definition: Language.h:1187
Definition: Language.h:1188
Definition: Language.h:1190
Definition: LFG.h:41
+ Here is the caller graph for this function:

◆ GetStateString()

TC_GAME_API std::string lfg::GetStateString ( LfgState  state)
76 {
77  int32 entry = LANG_LFG_ERROR;
78  switch (state)
79  {
80  case LFG_STATE_NONE:
81  entry = LANG_LFG_STATE_NONE;
82  break;
85  break;
86  case LFG_STATE_QUEUED:
87  entry = LANG_LFG_STATE_QUEUED;
88  break;
89  case LFG_STATE_PROPOSAL:
91  break;
92  case LFG_STATE_DUNGEON:
93  entry = LANG_LFG_STATE_DUNGEON;
94  break;
97  break;
100  break;
101  }
102 
103  return std::string(sObjectMgr->GetTrinityStringForDBCLocale(entry));
104 }
Definition: LFG.h:76
Definition: LFG.h:82
Definition: LFG.h:75
Definition: Language.h:1179
#define sObjectMgr
Definition: ObjectMgr.h:1967
Definition: Language.h:1186
int32_t int32
Definition: Define.h:139
Definition: Language.h:1184
Definition: Language.h:1185
Definition: LFG.h:80
Definition: Language.h:1192
Definition: LFG.h:78
Definition: Language.h:1180
Definition: Language.h:1182
Definition: LFG.h:77
Definition: Language.h:1181
+ Here is the caller graph for this function: