aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/DungeonFinding/LFGMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/DungeonFinding/LFGMgr.cpp')
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index ff2a50d8af5..34134bc4fae 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -1941,10 +1941,12 @@ uint8 LFGMgr::GetTeam(ObjectGuid guid)
uint8 LFGMgr::FilterClassRoles(Player* player, uint8 roles)
{
- uint8 allowedRoles = PLAYER_ROLE_LEADER;
- for (uint32 i = 0; i < MAX_SPECIALIZATIONS; ++i)
- if (ChrSpecializationEntry const* specialization = sDB2Manager.GetChrSpecializationByIndex(player->GetClass(), i))
- allowedRoles |= 1 << (specialization->Role + 1);
+ uint8 allowedRoles = PLAYER_ROLE_LEADER | PLAYER_ROLE_DAMAGE;
+ if (player->GetClass() == CLASS_DEATH_KNIGHT || player->GetClass() == CLASS_DRUID || player->GetClass() == CLASS_PALADIN || player->GetClass() == CLASS_WARRIOR)
+ allowedRoles |= PLAYER_ROLE_TANK;
+
+ if (player->GetClass() == CLASS_PALADIN || player->GetClass() == CLASS_PRIEST || player->GetClass() == CLASS_DRUID || player->GetClass() == CLASS_SHAMAN)
+ allowedRoles |= PLAYER_ROLE_HEALER;
return roles & allowedRoles;
}