aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/SpellAuras.cpp11
-rw-r--r--src/game/SpellAuras.h3
2 files changed, 4 insertions, 10 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index c1e2dba1973..3c427706d19 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -686,16 +686,9 @@ void Aura::Update(uint32 diff)
}
}
- for (uint8 i = 0; i<MAX_SPELL_EFFECTS;++i)
+ for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
if (m_partAuras[i])
- {
- if (m_partAuras[i]->IsAreaAura())
- ((AreaAuraEffect *) m_partAuras[i])->Update(diff);
- else if(m_partAuras[i]->IsPersistent())
- ((PersistentAreaAuraEffect *) m_partAuras[i])->Update(diff);
- else
- m_partAuras[i]->Update(diff);
- }
+ m_partAuras[i]->Update(diff);
}
void AuraEffect::Update(uint32 diff)
diff --git a/src/game/SpellAuras.h b/src/game/SpellAuras.h
index eacd7f9e20b..fe9c18d19b5 100644
--- a/src/game/SpellAuras.h
+++ b/src/game/SpellAuras.h
@@ -161,6 +161,7 @@ class TRINITY_DLL_SPEC Aura
bool m_updated:1; // Prevent remove aura by stack if set
bool m_isSingleTargetAura:1; // true if it's a single target spell and registered at caster - can change at spell steal for example
};
+
class TRINITY_DLL_SPEC AuraEffect
{
public:
@@ -335,7 +336,7 @@ class TRINITY_DLL_SPEC AuraEffect
uint32 GetEffIndex() const { return m_effIndex; }
int32 GetBasePoints() const { return m_currentBasePoints; }
int32 GetAuraAmplitude(){return m_amplitude;}
- void Update(uint32 diff);
+ virtual void Update(uint32 diff);
bool IsAreaAura() const { return m_isAreaAura; }
bool IsPeriodic() const { return m_isPeriodic; }