mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 02:25:38 +01:00
Core/Auras: Prevent phase aura handler from incorrectly being stopped on aura removal
Closes #32
This commit is contained in:
@@ -2946,9 +2946,6 @@ void AuraEffect::HandlePhase(AuraApplication const * aurApp, uint8 mode, bool ap
|
||||
for (Unit::AuraEffectList::const_iterator itr = phases.begin(); itr != phases.end(); ++itr)
|
||||
newPhase |= (*itr)->GetMiscValue();
|
||||
|
||||
if (apply)
|
||||
newPhase |= GetMiscValue();
|
||||
|
||||
// phase auras normally not expected at BG but anyway better check
|
||||
if (Player* player = target->ToPlayer())
|
||||
{
|
||||
@@ -2961,7 +2958,7 @@ void AuraEffect::HandlePhase(AuraApplication const * aurApp, uint8 mode, bool ap
|
||||
bg->EventPlayerDroppedFlag(player);
|
||||
|
||||
// stop handling the effect if it was removed by linked event
|
||||
if (aurApp->GetRemoveMode())
|
||||
if (apply && aurApp->GetRemoveMode())
|
||||
return;
|
||||
|
||||
// GM-mode have mask 0xFFFFFFFF
|
||||
|
||||
Reference in New Issue
Block a user