aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-04-13 18:21:48 -0500
committermegamage <none@none>2009-04-13 18:21:48 -0500
commit7b6548f2d1be1f5dbaa7ffd5848a03c89477a855 (patch)
tree636478210225488e225f0444064df3a863bddf4b
parentdf35e1ad2b79c7d734ae4b1a32b6d6ad0d9b9400 (diff)
*Make AuraEffect::Update virtual.
--HG-- branch : trunk
-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; }