aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-07-08 00:35:24 +0200
committerShauren <shauren.trinity@gmail.com>2022-07-08 00:35:24 +0200
commit490b6f88d4ceae982da8877e50b20070a8f4f978 (patch)
tree7613e67d7cbd7dd2d764f4d38e2e0f0f7c4208a0
parentde26cafbbe1b355b69ec871f4fee0704a3ef29a5 (diff)
Core/Conditions: Implemented PlayerCondition::CurrentPvpFaction
-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;