TrinityCore
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
lfg Namespace Reference

Classes

struct  LfgCompatibilityData
 
struct  LFGDungeonData
 
class  LfgGroupData
 
class  LFGGroupScript
 
struct  LfgJoinResultData
 
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, uint32LfgLockMap
 
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 = 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_DUNGEON = 5 , 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  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_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_CHARMING = 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  LfgRoleClasses { TANK , HEALER }
 
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

Definition at line 157 of file LFGMgr.h.

◆ LfgCachedDungeonContainer

Definition at line 156 of file LFGMgr.h.

◆ LfgCompatibleContainer

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

Definition at line 78 of file LFGQueue.h.

◆ LFGDungeonContainer

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

Definition at line 164 of file LFGMgr.h.

◆ LfgDungeonSet

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

Definition at line 102 of file LFG.h.

◆ LfgGroupDataContainer

Definition at line 162 of file LFGMgr.h.

◆ LfgGroupsMap

Definition at line 106 of file LFG.h.

◆ LfgLockMap

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

Definition at line 103 of file LFG.h.

◆ LfgLockPartyMap

Definition at line 104 of file LFG.h.

◆ LfgPlayerBootContainer

Definition at line 161 of file LFGMgr.h.

◆ LfgPlayerDataContainer

Definition at line 163 of file LFGMgr.h.

◆ LfgProposalContainer

Definition at line 159 of file LFGMgr.h.

◆ LfgProposalPlayerContainer

Definition at line 160 of file LFGMgr.h.

◆ LfgQueueContainer

Definition at line 153 of file LFGMgr.h.

◆ LfgQueueDataContainer

Definition at line 79 of file LFGQueue.h.

◆ LfgRewardContainer

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

Definition at line 154 of file LFGMgr.h.

◆ LfgRewardContainerBounds

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

Definition at line 155 of file LFGMgr.h.

◆ LfgRoleCheckContainer

Definition at line 158 of file LFGMgr.h.

◆ LfgRolesMap

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

Definition at line 105 of file LFG.h.

◆ LfgWaitTimesContainer

Definition at line 77 of file LFGQueue.h.

Enumeration Type Documentation

◆ LfgAnswer

Answer state (Also used to check compatibilites)

Enumerator
LFG_ANSWER_PENDING 
LFG_ANSWER_DENY 
LFG_ANSWER_AGREE 

Definition at line 95 of file LFG.h.

◆ 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 

Definition at line 26 of file LFGQueue.h.

◆ LFGEnum

Enumerator
LFG_TANKS_NEEDED 
LFG_HEALERS_NEEDED 
LFG_DPS_NEEDED 

Definition at line 30 of file LFG.h.

◆ LfgFlags

Enumerator
LFG_FLAG_UNK1 
LFG_FLAG_UNK2 
LFG_FLAG_SEASONAL 
LFG_FLAG_UNK3 

Definition at line 58 of file LFGMgr.h.

◆ LfgGroupEnum

Enumerator
LFG_GROUP_MAX_KICKS 

Definition at line 26 of file LFGGroupData.h.

◆ 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 

Definition at line 98 of file LFGMgr.h.

◆ 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 

Definition at line 78 of file LFG.h.

◆ 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 

Definition at line 46 of file LFGMgr.h.

◆ LfgOptions

Enumerator
LFG_OPTION_ENABLE_DUNGEON_FINDER 
LFG_OPTION_ENABLE_RAID_BROWSER 

Definition at line 40 of file LFGMgr.h.

◆ LfgProposalState

Proposal states.

Enumerator
LFG_PROPOSAL_INITIATING 
LFG_PROPOSAL_FAILED 
LFG_PROPOSAL_SUCCESS 

Definition at line 77 of file LFGMgr.h.

◆ 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 

Definition at line 121 of file LFGMgr.h.

◆ LfgRoleClasses

Enumerator
TANK 
HEALER 

Definition at line 132 of file LFGMgr.h.

◆ LfgRoles

Enumerator
PLAYER_ROLE_NONE 
PLAYER_ROLE_LEADER 
PLAYER_ROLE_TANK 
PLAYER_ROLE_HEALER 
PLAYER_ROLE_DAMAGE 
PLAYER_ROLE_ANY 

Definition at line 37 of file LFG.h.

◆ LfgState

Enumerator
LFG_STATE_NONE 
LFG_STATE_ROLECHECK 
LFG_STATE_QUEUED 
LFG_STATE_PROPOSAL 
LFG_STATE_DUNGEON 
LFG_STATE_FINISHED_DUNGEON 
LFG_STATE_RAIDBROWSER 

Definition at line 65 of file LFG.h.

◆ 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_CHARMING 

Definition at line 85 of file LFGMgr.h.

◆ LfgType

Determines the type of instance.

Enumerator
LFG_TYPE_NONE 
LFG_TYPE_DUNGEON 
LFG_TYPE_RAID 
LFG_TYPE_HEROIC 
LFG_TYPE_RANDOM 

Definition at line 67 of file LFGMgr.h.

◆ 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_PROPOSAL_BEGIN 
LFG_UPDATETYPE_UPDATE_STATUS 
LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE 
LFG_UPDATETYPE_GROUP_DISBAND_UNK16 

Definition at line 47 of file LFG.h.

Function Documentation

◆ AddSC_LFGScripts()

void lfg::AddSC_LFGScripts ( )

Definition at line 248 of file LFGScripts.cpp.

+ Here is the caller graph for this function:

◆ ConcatenateDungeons()

TC_GAME_API std::string lfg::ConcatenateDungeons ( LfgDungeonSet const &  dungeons)

Definition at line 26 of file LFG.cpp.

+ 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

Definition at line 37 of file LFGQueue.cpp.

+ Here is the caller graph for this function:

◆ GetCompatibleString()

char const * lfg::GetCompatibleString ( LfgCompatibility  compatibles)

Definition at line 55 of file LFGQueue.cpp.

+ Here is the caller graph for this function:

◆ GetRolesString()

TC_GAME_API std::string lfg::GetRolesString ( uint8  roles)

Definition at line 41 of file LFG.cpp.

+ Here is the caller graph for this function:

◆ GetStateString()

TC_GAME_API std::string lfg::GetStateString ( LfgState  state)

Definition at line 75 of file LFG.cpp.

+ Here is the caller graph for this function: