*Update spellmod system

*Implement SPELL_ATTR_EX6_IGNORE_CASTER_AURAS
*Fix some bugs with traps proc flags

--HG--
branch : trunk
This commit is contained in:
QAston
2009-06-06 08:27:36 +02:00
parent 00582cf9d4
commit 39548d6822
13 changed files with 209 additions and 103 deletions
+5
View File
@@ -366,6 +366,8 @@ class Spell
void EffectTitanGrip(uint32 i);
void EffectEnchantItemPrismatic(uint32 i);
typedef std::set<Aura *> UsedSpellMods;
Spell( Unit* Caster, SpellEntry const *info, bool triggered, uint64 originalCasterGUID = 0, Spell** triggeringContainer = NULL, bool skipCheck = false );
~Spell();
@@ -445,6 +447,8 @@ class Spell
uint32 m_preCastSpell;
SpellCastTargets m_targets;
UsedSpellMods m_appliedMods;
int32 GetCastTime() const { return m_casttime; }
bool IsAutoRepeat() const { return m_autoRepeat; }
void SetAutoRepeat(bool rep) { m_autoRepeat = rep; }
@@ -453,6 +457,7 @@ class Spell
{
return m_spellInfo->Attributes & SPELL_ATTR_ON_NEXT_SWING;
}
bool IsTriggered() const {return m_IsTriggeredSpell;};
bool IsChannelActive() const { return m_caster->GetUInt32Value(UNIT_CHANNEL_SPELL) != 0; }
bool IsMeleeAttackResetSpell() const { return !m_IsTriggeredSpell && (m_spellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_AUTOATTACK); }
bool IsRangedAttackResetSpell() const { return !m_IsTriggeredSpell && /*IsRangedSpell() &&*/ !(m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_NOT_RESET_AUTOSHOT); }