Core/Auras: Do not recheck aura positivity every aura effect apply/remove.

This commit is contained in:
QAston
2010-12-31 12:50:17 +01:00
parent 6c56f9e1b7
commit bb4bd46d21
4 changed files with 20 additions and 24 deletions
+2 -2
View File
@@ -49,12 +49,11 @@ class AuraApplication
uint8 m_effectsToApply; // Used only at spell hit to determine which effect should be applied
AuraRemoveMode m_removeMode:8; // Store info for know remove aura reason
bool m_needClientUpdate:1;
bool m_isNeedManyNegativeEffects:1;
explicit AuraApplication(Unit * target, Unit * caster, Aura * base, uint8 effMask);
void _Remove();
private:
bool _CheckPositive(Unit * caster) const;
void _InitFlags(Unit * caster, uint8 effMask);
void _HandleEffect(uint8 effIndex, bool apply);
public:
@@ -66,6 +65,7 @@ class AuraApplication
uint8 GetEffectMask() const { return m_flags & (AFLAG_EFF_INDEX_0 | AFLAG_EFF_INDEX_1 | AFLAG_EFF_INDEX_2); }
bool HasEffect(uint8 effect) const { ASSERT(effect < MAX_SPELL_EFFECTS); return m_flags & (1<<effect); }
bool IsPositive() const { return m_flags & AFLAG_POSITIVE; }
bool IsSelfcasted() const { return m_flags & AFLAG_CASTER; }
uint8 GetEffectsToApply() const { return m_effectsToApply; }
void SetRemoveMode(AuraRemoveMode mode) { m_removeMode = mode; }