diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index d40dfef63e1..080dd528b62 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -3042,6 +3042,18 @@ bool ConditionMgr::IsPlayerMeetingCondition(Player const* player, PlayerConditio } } + if (condition->CurrentPvpFaction) + { + int8 team; + if (player->GetMap()->IsBattlegroundOrArena()) + team = player->m_playerData->ArenaFaction; + else + team = player->GetTeamId(); + + if (condition->CurrentPvpFaction - 1 != team) + return false; + } + if (condition->PvpMedal && !((1 << (condition->PvpMedal - 1)) & *player->m_activePlayerData->PvpMedals)) return false; |