diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-07-08 00:35:24 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-07-08 00:35:24 +0200 |
commit | 490b6f88d4ceae982da8877e50b20070a8f4f978 (patch) | |
tree | 7613e67d7cbd7dd2d764f4d38e2e0f0f7c4208a0 | |
parent | de26cafbbe1b355b69ec871f4fee0704a3ef29a5 (diff) |
Core/Conditions: Implemented PlayerCondition::CurrentPvpFaction
-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; |