[7068] Use area aura duration for apply aura on unit in area

Allow remove SPELL_ATTR_EX_UNAFFECTED_BY_SCHOOL_IMMUNE spells by 31224

Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
DiSlord 2009-01-11 21:14:52 +03:00
parent f956a3bf10
commit dd2a59f56d
3 changed files with 4 additions and 5 deletions

View file

@ -768,6 +768,7 @@ void AreaAura::Update(uint32 diff)
if(actualSpellInfo != GetSpellProto()) if(actualSpellInfo != GetSpellProto())
actualBasePoints = actualSpellInfo->EffectBasePoints[m_effIndex]; actualBasePoints = actualSpellInfo->EffectBasePoints[m_effIndex];
AreaAura *aur = new AreaAura(actualSpellInfo, m_effIndex, &actualBasePoints, (*tIter), caster, NULL); AreaAura *aur = new AreaAura(actualSpellInfo, m_effIndex, &actualBasePoints, (*tIter), caster, NULL);
aur->SetAuraDuration(GetAuraDuration());
(*tIter)->AddAura(aur); (*tIter)->AddAura(aur);
} }
} }

View file

@ -1886,11 +1886,9 @@ void Spell::EffectTriggerSpell(uint32 i)
{ {
// remove all harmful spells on you... // remove all harmful spells on you...
if( // ignore positive and passive auras if( // ignore positive and passive auras
!iter->second->IsPositive() && !iter->second->IsPassive() && !iter->second->IsPositive() && !iter->second->IsPassive() &&
// ignore physical auras // ignore physical auras
(GetSpellSchoolMask(iter->second->GetSpellProto()) & SPELL_SCHOOL_MASK_NORMAL)==0 && (GetSpellSchoolMask(iter->second->GetSpellProto()) & SPELL_SCHOOL_MASK_NORMAL)==0 )
// ignore immunity persistent spells
!( iter->second->GetSpellProto()->AttributesEx & 0x10000 ) )
{ {
m_caster->RemoveAurasDueToSpell(iter->second->GetSpellProto()->Id); m_caster->RemoveAurasDueToSpell(iter->second->GetSpellProto()->Id);
iter = Auras.begin(); iter = Auras.begin();

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "7067" #define REVISION_NR "7068"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__