Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
LFG.cpp
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
#include "
Language.h
"
7
#include "
LFG.h
"
8
#include "
ObjectMgr.h
"
9
10
namespace
lfg
11
{
12
13
std::string
ConcatenateDungeons
(
LfgDungeonSet
const
& dungeons)
14
{
15
std::string dungeonstr =
""
;
16
if
(!dungeons.empty())
17
{
18
std::ostringstream o;
19
LfgDungeonSet::const_iterator it = dungeons.begin();
20
o << (*it);
21
for
(++it; it != dungeons.end(); ++it)
22
o <<
", "
<<
uint32
(*it);
23
dungeonstr = o.str();
24
}
25
return
dungeonstr;
26
}
27
28
bool
IsValidPlayerRoles
(
uint8
roles)
29
{
30
static
uint8
const
validRoleMask =
PLAYER_ROLE_LEADER
|
PLAYER_ROLE_TANK
|
PLAYER_ROLE_HEALER
|
PLAYER_ROLE_DAMAGE
;
31
static
uint8
const
playableRoleMask =
PLAYER_ROLE_TANK
|
PLAYER_ROLE_HEALER
|
PLAYER_ROLE_DAMAGE
;
32
33
return
(roles & ~validRoleMask) == 0 && (roles & playableRoleMask) != 0;
34
}
35
36
std::string
GetRolesString
(
uint8
roles)
37
{
38
std::string rolesstr =
""
;
39
40
if
(roles &
PLAYER_ROLE_TANK
)
41
rolesstr.append(
sObjectMgr
->GetSkyFireStringForDBCLocale(
LANG_LFG_ROLE_TANK
));
42
43
if
(roles &
PLAYER_ROLE_HEALER
)
44
{
45
if
(!rolesstr.empty())
46
rolesstr.append(
", "
);
47
rolesstr.append(
sObjectMgr
->GetSkyFireStringForDBCLocale(
LANG_LFG_ROLE_HEALER
));
48
}
49
50
if
(roles &
PLAYER_ROLE_DAMAGE
)
51
{
52
if
(!rolesstr.empty())
53
rolesstr.append(
", "
);
54
rolesstr.append(
sObjectMgr
->GetSkyFireStringForDBCLocale(
LANG_LFG_ROLE_DAMAGE
));
55
}
56
57
if
(roles &
PLAYER_ROLE_LEADER
)
58
{
59
if
(!rolesstr.empty())
60
rolesstr.append(
", "
);
61
rolesstr.append(
sObjectMgr
->GetSkyFireStringForDBCLocale(
LANG_LFG_ROLE_LEADER
));
62
}
63
64
if
(rolesstr.empty())
65
rolesstr.append(
sObjectMgr
->GetSkyFireStringForDBCLocale(
LANG_LFG_ROLE_NONE
));
66
67
return
rolesstr;
68
}
69
70
std::string
GetStateString
(
LfgState
state)
71
{
72
int32
entry =
LANG_LFG_ERROR
;
73
switch
(state)
74
{
75
case
LFG_STATE_NONE
:
76
entry =
LANG_LFG_STATE_NONE
;
77
break
;
78
case
LFG_STATE_ROLECHECK
:
79
entry =
LANG_LFG_STATE_ROLECHECK
;
80
break
;
81
case
LFG_STATE_QUEUED
:
82
entry =
LANG_LFG_STATE_QUEUED
;
83
break
;
84
case
LFG_STATE_PROPOSAL
:
85
entry =
LANG_LFG_STATE_PROPOSAL
;
86
break
;
87
case
LFG_STATE_DUNGEON
:
88
entry =
LANG_LFG_STATE_DUNGEON
;
89
break
;
90
case
LFG_STATE_BOOT
:
91
entry =
LANG_LFG_STATE_BOOT
;
92
break
;
93
case
LFG_STATE_FINISHED_DUNGEON
:
94
entry =
LANG_LFG_STATE_FINISHED_DUNGEON
;
95
break
;
96
case
LFG_STATE_RAIDBROWSER
:
97
entry =
LANG_LFG_STATE_RAIDBROWSER
;
98
break
;
99
}
100
101
return
std::string(
sObjectMgr
->GetSkyFireStringForDBCLocale(entry));
102
}
103
104
}
// namespace lfg
int32
std::int32_t int32
Definition
Define.h:73
uint8
std::uint8_t uint8
Definition
Define.h:79
uint32
std::uint32_t uint32
Definition
Define.h:77
LFG.h
Language.h
LANG_LFG_ROLE_TANK
@ LANG_LFG_ROLE_TANK
Definition
Language.h:1144
LANG_LFG_STATE_BOOT
@ LANG_LFG_STATE_BOOT
Definition
Language.h:1140
LANG_LFG_ROLE_LEADER
@ LANG_LFG_ROLE_LEADER
Definition
Language.h:1147
LANG_LFG_STATE_PROPOSAL
@ LANG_LFG_STATE_PROPOSAL
Definition
Language.h:1139
LANG_LFG_ERROR
@ LANG_LFG_ERROR
Definition
Language.h:1149
LANG_LFG_ROLE_HEALER
@ LANG_LFG_ROLE_HEALER
Definition
Language.h:1145
LANG_LFG_STATE_ROLECHECK
@ LANG_LFG_STATE_ROLECHECK
Definition
Language.h:1137
LANG_LFG_STATE_RAIDBROWSER
@ LANG_LFG_STATE_RAIDBROWSER
Definition
Language.h:1143
LANG_LFG_STATE_DUNGEON
@ LANG_LFG_STATE_DUNGEON
Definition
Language.h:1141
LANG_LFG_STATE_NONE
@ LANG_LFG_STATE_NONE
Definition
Language.h:1136
LANG_LFG_ROLE_NONE
@ LANG_LFG_ROLE_NONE
Definition
Language.h:1148
LANG_LFG_STATE_FINISHED_DUNGEON
@ LANG_LFG_STATE_FINISHED_DUNGEON
Definition
Language.h:1142
LANG_LFG_STATE_QUEUED
@ LANG_LFG_STATE_QUEUED
Definition
Language.h:1138
LANG_LFG_ROLE_DAMAGE
@ LANG_LFG_ROLE_DAMAGE
Definition
Language.h:1146
ObjectMgr.h
sObjectMgr
#define sObjectMgr
Definition
ObjectMgr.h:1617
lfg
Definition
LFG.cpp:11
lfg::IsValidPlayerRoles
bool IsValidPlayerRoles(uint8 roles)
Definition
LFG.cpp:28
lfg::LfgState
LfgState
Definition
LFG.h:61
lfg::LFG_STATE_RAIDBROWSER
@ LFG_STATE_RAIDBROWSER
Definition
LFG.h:69
lfg::LFG_STATE_ROLECHECK
@ LFG_STATE_ROLECHECK
Definition
LFG.h:63
lfg::LFG_STATE_FINISHED_DUNGEON
@ LFG_STATE_FINISHED_DUNGEON
Definition
LFG.h:68
lfg::LFG_STATE_DUNGEON
@ LFG_STATE_DUNGEON
Definition
LFG.h:67
lfg::LFG_STATE_PROPOSAL
@ LFG_STATE_PROPOSAL
Definition
LFG.h:65
lfg::LFG_STATE_BOOT
@ LFG_STATE_BOOT
Definition
LFG.h:66
lfg::LFG_STATE_NONE
@ LFG_STATE_NONE
Definition
LFG.h:62
lfg::LFG_STATE_QUEUED
@ LFG_STATE_QUEUED
Definition
LFG.h:64
lfg::LfgDungeonSet
std::set< uint32 > LfgDungeonSet
Definition
LFG.h:107
lfg::GetStateString
std::string GetStateString(LfgState state)
Definition
LFG.cpp:70
lfg::PLAYER_ROLE_DAMAGE
@ PLAYER_ROLE_DAMAGE
Definition
LFG.h:27
lfg::PLAYER_ROLE_TANK
@ PLAYER_ROLE_TANK
Definition
LFG.h:25
lfg::PLAYER_ROLE_LEADER
@ PLAYER_ROLE_LEADER
Definition
LFG.h:24
lfg::PLAYER_ROLE_HEALER
@ PLAYER_ROLE_HEALER
Definition
LFG.h:26
lfg::GetRolesString
std::string GetRolesString(uint8 roles)
Definition
LFG.cpp:36
lfg::ConcatenateDungeons
std::string ConcatenateDungeons(LfgDungeonSet const &dungeons)
Definition
LFG.cpp:13
src
server
game
DungeonFinding
LFG.cpp
Generated on
for Project SkyFire Core by
1.17.0