Core/Auras: Prevent phase aura handler from incorrectly being stopped on aura removal

Closes #32
This commit is contained in:
Shauren
2011-01-04 22:41:44 +01:00
parent 09a0860717
commit 3208b7ae1f

View File

@@ -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