diff options
| author | treeston <treeston.mmoc@gmail.com> | 2016-06-05 18:37:48 +0200 |
|---|---|---|
| committer | treeston <treeston.mmoc@gmail.com> | 2016-06-05 18:37:48 +0200 |
| commit | 73cfbdcf9f2c26b55ab11061834c0b0ce6fc41ce (patch) | |
| tree | 6f416a24655e28339653d44f6a17ee96d489dd4c | |
| parent | a6e7c9873c7b3530e1c4ff28119dbec30abc6afb (diff) | |
PvP/Dueling: Fix an edge case crash that could happen if a duel ended while an aura effect was being removed (Living Bomb, Unstable Affliction and similar). Closes #17177.
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ec86e8fe4c3..1dc6b2bcafa 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -7280,7 +7280,7 @@ void Player::DuelComplete(DuelCompleteType type) for (AuraApplicationMap::iterator i = itsAuras.begin(); i != itsAuras.end();) { Aura const* aura = i->second->GetBase(); - if (!i->second->IsPositive() && aura->GetCasterGUID() == GetGUID() && aura->GetApplyTime() >= duel->startTime) + if (!i->second->GetRemoveMode() && !i->second->IsPositive() && aura->GetCasterGUID() == GetGUID() && aura->GetApplyTime() >= duel->startTime) duel->opponent->RemoveAura(i); else ++i; @@ -7290,7 +7290,7 @@ void Player::DuelComplete(DuelCompleteType type) for (AuraApplicationMap::iterator i = myAuras.begin(); i != myAuras.end();) { Aura const* aura = i->second->GetBase(); - if (!i->second->IsPositive() && aura->GetCasterGUID() == duel->opponent->GetGUID() && aura->GetApplyTime() >= duel->startTime) + if (!i->second->GetRemoveMode() && !i->second->IsPositive() && aura->GetCasterGUID() == duel->opponent->GetGUID() && aura->GetApplyTime() >= duel->startTime) RemoveAura(i); else ++i; |
