diff options
| author | megamage <none@none> | 2009-01-10 11:30:45 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2009-01-10 11:30:45 -0600 |
| commit | 218f4c4c4b6cf3a91ad696d08d09085f480ccea8 (patch) | |
| tree | d59defa4b0016b3d1bff81e8a3072177a7ab96a2 /src/game/Spell.cpp | |
| parent | 1ffb1cef3344206dfea149cb78146c30449d51c2 (diff) | |
*Update to Mangos 7063.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
| -rw-r--r-- | src/game/Spell.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 0007ba874e8..b234ed34829 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -641,6 +641,9 @@ void Spell::prepareDataForTriggerSystem() case SPELLFAMILY_WARLOCK: // For Hellfire Effect / Rain of Fire / Seed of Corruption triggers need do it if (m_spellInfo->SpellFamilyFlags & 0x0000800000000060LL) m_canTrigger = true; break; + case SPELLFAMILY_PRIEST: // For Penance heal/damage triggers need do it + if (m_spellInfo->SpellFamilyFlags & 0x0001800000000000LL) m_canTrigger = true; + break; case SPELLFAMILY_HUNTER: // Hunter Explosive Trap Effect/Immolation Trap Effect/Frost Trap Aura/Snake Trap Effect if (m_spellInfo->SpellFamilyFlags & 0x0000200000000014LL) m_canTrigger = true; break; @@ -2234,9 +2237,13 @@ void Spell::handle_immediate() // start channeling if applicable if(IsChanneledSpell(m_spellInfo)) { - m_spellState = SPELL_STATE_CASTING; - m_caster->AddInterruptMask(m_spellInfo->ChannelInterruptFlags); - SendChannelStart(GetSpellDuration(m_spellInfo)); + int32 duration = GetSpellDuration(m_spellInfo); + if (duration) + { + m_spellState = SPELL_STATE_CASTING; + m_caster->AddInterruptMask(m_spellInfo->ChannelInterruptFlags); + SendChannelStart(duration); + } } // process immediate effects (items, ground, etc.) also initialize some variables |
