diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-10-28 03:54:43 -0300 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-11-05 13:01:17 +0100 |
| commit | ceb7c048276bf15b79d46aff530c8c1cd8790cda (patch) | |
| tree | f8653f8bb77ecf6938c4b9955a87073c0b3a33a6 /src | |
| parent | f895defe99f41a8fb5587774cc35d82ad077047b (diff) | |
Core/Player: cleanup single target auras on spec switch
Closes #806
(cherry picked from commit 9f72f4ceb21d07cafedfaa0afa78560e7dceb9e3)
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 453b73c3071..23ffee8a2ac 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -26551,6 +26551,20 @@ void Player::ActivateTalentGroup(ChrSpecializationEntry const* spec) UnsummonAllTotems(); ExitVehicle(); RemoveAllControlled(); + + // remove single target auras at other targets + AuraList& scAuras = GetSingleCastAuras(); + for (AuraList::iterator iter = scAuras.begin(); iter != scAuras.end();) + { + Aura* aura = *iter; + if (aura->GetUnitOwner() != this) + { + aura->Remove(); + iter = scAuras.begin(); + } + else + ++iter; + } /*RemoveAllAurasOnDeath(); if (GetPet()) GetPet()->RemoveAllAurasOnDeath();*/ |
