[10051] Fixed talent 58426 broken after 3.3.3 switch.

Also cleanup character auras from wrong duration auras.
This commit is contained in:
VladimirMangos 2010-06-12 04:29:37 +04:00
parent 64f959fb82
commit f520c9b1e0
7 changed files with 32 additions and 10 deletions

View file

@ -4064,7 +4064,6 @@ void Aura::HandleModStealth(bool apply, bool Real)
// Overkill
else if ((*i)->GetId() == 58426 && GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0000000000400000))
{
target->RemoveAurasDueToSpell(58428);
target->CastSpell(target, 58427, true);
}
}
@ -4103,7 +4102,13 @@ void Aura::HandleModStealth(bool apply, bool Real)
target->CastSpell(target, 31666, true);
// Overkill
else if ((*i)->GetId() == 58426 && GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0000000000400000))
target->CastSpell(target, 58428, true);
{
if (Aura* aura = target->GetAura(58427, EFFECT_INDEX_0))
{
aura->SetAuraMaxDuration(20*IN_MILLISECONDS);
aura->RefreshAura();
}
}
}
}
}
@ -4815,8 +4820,6 @@ void Aura::HandleAuraPeriodicDummy(bool apply, bool Real)
{
// Master of Subtlety
case 31666: target->RemoveAurasDueToSpell(31665); break;
// Overkill
case 58428: target->RemoveAurasDueToSpell(58427); break;
}
}
break;
@ -8454,4 +8457,18 @@ void Aura::HandleAllowOnlyAbility(bool apply, bool Real)
target->UpdateDamagePhysical(BASE_ATTACK);
target->UpdateDamagePhysical(RANGED_ATTACK);
target->UpdateDamagePhysical(OFF_ATTACK);
}
void Aura::SetAuraMaxDuration( int32 duration )
{
m_maxduration = duration;
// possible overwrite persistent state
if (duration > 0)
{
if (!(m_isPassive && m_spellProto->DurationIndex == 0))
m_permanent = false;
m_auraFlags |= AFLAG_DURATION;
}
}