diff options
Diffstat (limited to 'src/server/game/Combat/CombatManager.cpp')
-rw-r--r-- | src/server/game/Combat/CombatManager.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/Combat/CombatManager.cpp b/src/server/game/Combat/CombatManager.cpp index 4a82b5e98b2..96508afa938 100644 --- a/src/server/game/Combat/CombatManager.cpp +++ b/src/server/game/Combat/CombatManager.cpp @@ -171,7 +171,7 @@ Unit* CombatManager::GetAnyTarget() const return nullptr; } -bool CombatManager::SetInCombatWith(Unit* who) +bool CombatManager::SetInCombatWith(Unit* who, bool suppressPvpSecond) { // Are we already in combat? If yes, refresh pvp combat auto it = _pvpRefs.find(who->GetGUID()); @@ -190,7 +190,12 @@ bool CombatManager::SetInCombatWith(Unit* who) // ...then create new reference CombatReference* ref; if (_owner->IsControlledByPlayer() && who->IsControlledByPlayer()) - ref = new PvPCombatReference(_owner, who); + { + PvPCombatReference* refPvp = new PvPCombatReference(_owner, who); + if (suppressPvpSecond) + refPvp->SuppressFor(who); + ref = refPvp; + } else ref = new CombatReference(_owner, who); |