Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
LFG.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SF_LFG_H
7#define SF_LFG_H
8
9#include "Common.h"
10
11namespace lfg
12{
13
20
29
37
59
61 {
62 LFG_STATE_NONE, // Not using LFG / LFR
63 LFG_STATE_ROLECHECK, // Rolecheck active
65 LFG_STATE_PROPOSAL, // Proposal active
66 LFG_STATE_BOOT, // Vote kick active
67 LFG_STATE_DUNGEON, // In LFG Group, in a Dungeon
68 LFG_STATE_FINISHED_DUNGEON, // In LFG Group, in a finished Dungeon
69 LFG_STATE_RAIDBROWSER // Using Raid finder
70 };
71
88
96
106
107 typedef std::set<uint32> LfgDungeonSet;
108 typedef std::map<uint32, LfgLockData> LfgLockMap;
109 typedef std::map<uint64, LfgLockMap> LfgLockPartyMap;
110 typedef std::set<uint64> LfgGuidSet;
111 typedef std::list<uint64> LfgGuidList;
112 typedef std::map<uint64, uint8> LfgRolesMap;
113 typedef std::map<uint64, uint64> LfgGroupsMap;
114
115 std::string ConcatenateGuids(LfgGuidList const& guids);
116 std::string ConcatenateDungeons(LfgDungeonSet const& dungeons);
117 bool IsValidPlayerRoles(uint8 roles);
118 std::string GetRolesString(uint8 roles);
119 std::string GetStateString(LfgState state);
120
121} // namespace lfg
122
123#endif
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
Definition LFG.cpp:11
bool IsValidPlayerRoles(uint8 roles)
Definition LFG.cpp:28
LfgLockStatusType
Instance lock types.
Definition LFG.h:74
@ LFG_LOCKSTATUS_INSUFFICIENT_EXPANSION
Definition LFG.h:75
@ LFG_LOCKSTATUS_TOO_LOW_LEVEL
Definition LFG.h:76
@ LFG_LOCKSTATUS_RAID_LOCKED
Definition LFG.h:80
@ LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE
Definition LFG.h:78
@ LFG_LOCKSTATUS_MISSING_ITEM
Definition LFG.h:84
@ LFG_LOCKSTATUS_TOO_HIGH_LEVEL
Definition LFG.h:77
@ LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE
Definition LFG.h:79
@ LFG_LOCKSTATUS_ATTUNEMENT_TOO_HIGH_LEVEL
Definition LFG.h:82
@ LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL
Definition LFG.h:81
@ LFG_LOCKSTATUS_MISSING_ACHIEVEMENT
Definition LFG.h:86
@ LFG_LOCKSTATUS_NOT_IN_SEASON
Definition LFG.h:85
@ LFG_LOCKSTATUS_QUEST_NOT_COMPLETED
Definition LFG.h:83
LFGEnum
Definition LFG.h:15
@ LFG_HEALERS_NEEDED
Definition LFG.h:17
@ LFG_TANKS_NEEDED
Definition LFG.h:16
@ LFG_DPS_NEEDED
Definition LFG.h:18
LfgShortageIndex
Definition LFG.h:31
@ LFG_ROLE_SHORTAGE_MAX
Definition LFG.h:35
@ LFG_ROLE_SHORTAGE_UNCOMMON
Definition LFG.h:33
@ LFG_ROLE_SHORTAGE_PLENTIFUL
Definition LFG.h:34
@ LFG_ROLE_SHORTAGE_RARE
Definition LFG.h:32
LfgState
Definition LFG.h:61
@ LFG_STATE_RAIDBROWSER
Definition LFG.h:69
@ LFG_STATE_ROLECHECK
Definition LFG.h:63
@ LFG_STATE_FINISHED_DUNGEON
Definition LFG.h:68
@ LFG_STATE_DUNGEON
Definition LFG.h:67
@ LFG_STATE_PROPOSAL
Definition LFG.h:65
@ LFG_STATE_BOOT
Definition LFG.h:66
@ LFG_STATE_NONE
Definition LFG.h:62
@ LFG_STATE_QUEUED
Definition LFG.h:64
LfgUpdateType
Definition LFG.h:39
@ LFG_UPDATETYPE_ROLECHECK_FAILED
Definition LFG.h:44
@ LFG_UPDATETYPE_GROUP_FOUND
Definition LFG.h:48
@ LFG_UPDATETYPE_DEFAULT
Definition LFG.h:40
@ LFG_UPDATETYPE_ADDED_TO_QUEUE
Definition LFG.h:49
@ LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE
Definition LFG.h:52
@ LFG_UPDATETYPE_UPDATE_STATUS
Definition LFG.h:51
@ LFG_UPDATETYPE_PROPOSAL_FAILED
Definition LFG.h:46
@ LFG_UPDATETYPE_GROUP_DISBAND_UNK16
Definition LFG.h:53
@ LFG_UPDATETYPE_PROPOSAL_DECLINED
Definition LFG.h:47
@ LFG_UPDATETYPE_JOIN_LFG_OBJECT_FAILED
Definition LFG.h:57
@ LFG_UPDATETYPE_ROLECHECK_ABORTED
Definition LFG.h:42
@ LFG_UPDATETYPE_REMOVED_FROM_QUEUE
Definition LFG.h:45
@ LFG_UPDATETYPE_LEADER_UNK1
Definition LFG.h:41
@ LFG_UPDATETYPE_PROPOSAL_BEGIN
Definition LFG.h:50
@ LFG_UPDATETYPE_JOIN_QUEUE
Definition LFG.h:43
@ LFG_UPDATETYPE_PARTY_ROLE_NOT_AVAILABLE
Definition LFG.h:56
@ LFG_UPDATETYPE_DUNGEON_FINISHED
Definition LFG.h:55
@ LFG_UPDATETYPE_JOIN_QUEUE_INITIAL
Definition LFG.h:54
std::map< uint64, uint64 > LfgGroupsMap
Definition LFG.h:113
LfgAnswer
Answer state (Also used to check compatibilites).
Definition LFG.h:91
@ LFG_ANSWER_AGREE
Definition LFG.h:94
@ LFG_ANSWER_PENDING
Definition LFG.h:92
@ LFG_ANSWER_DENY
Definition LFG.h:93
std::map< uint32, LfgLockData > LfgLockMap
Definition LFG.h:108
std::set< uint32 > LfgDungeonSet
Definition LFG.h:107
std::list< uint64 > LfgGuidList
Definition LFG.h:111
std::string GetStateString(LfgState state)
Definition LFG.cpp:70
std::string ConcatenateGuids(LfgGuidList const &guids)
Definition LFGQueue.cpp:246
std::map< uint64, uint8 > LfgRolesMap
Definition LFG.h:112
LfgRoles
Definition LFG.h:22
@ PLAYER_ROLE_DAMAGE
Definition LFG.h:27
@ PLAYER_ROLE_TANK
Definition LFG.h:25
@ PLAYER_ROLE_NONE
Definition LFG.h:23
@ PLAYER_ROLE_LEADER
Definition LFG.h:24
@ PLAYER_ROLE_HEALER
Definition LFG.h:26
std::string GetRolesString(uint8 roles)
Definition LFG.cpp:36
std::set< uint64 > LfgGuidSet
Definition LFG.h:110
std::string ConcatenateDungeons(LfgDungeonSet const &dungeons)
Definition LFG.cpp:13
std::map< uint64, LfgLockMap > LfgLockPartyMap
Definition LFG.h:109
uint32 currentItemLevel
Definition LFG.h:103
uint32 lockStatus
Definition LFG.h:102
LfgLockData(uint32 lock=0, uint32 currentItemLevel=0, uint32 requiredItemLevel=0)
Definition LFG.h:99
uint32 requiredItemLevel
Definition LFG.h:104