aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp12
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;