diff options
author | Alan Deutscher <adeutscher@gmail.com> | 2022-07-10 18:55:15 -0700 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-09-05 22:23:02 +0200 |
commit | ff99952dfb7d2b532de2d1aedc825fb96038f4c2 (patch) | |
tree | 3d71265e0562a366e0d358ebfe20322ec1f51a97 /src/server/game/Combat/CombatManager.cpp | |
parent | a1ddf5195b8d03ea87248b7037a3e50e3e793d8e (diff) |
Core/Spells: Delay combat flagging for spell targets until spell missile lands
(cherry picked from commit b59706c8b6856bdfe084a38330773725d3404f05)
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); |