From c9860e3b9f888132ea63de1a3c81d170ae6252e2 Mon Sep 17 00:00:00 2001 From: thenecromancer Date: Wed, 21 Jul 2010 01:15:27 +0200 Subject: Some spells with special proc state, some talents like it --HG-- branch : trunk --- src/server/game/Spells/Spell.cpp | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index d68d4587d56..d845ee76b22 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -790,6 +790,50 @@ void Spell::prepareDataForTriggerSystem(AuraEffect const * /*triggeredByAura*/) to prevent chain proc of these spells */ + switch (m_spellInfo->SpellFamilyName) + { + case SPELLFAMILY_MAGE: + { + // Blizzard - trigger as DOT + if (m_spellInfo->SpellFamilyFlags[0] & 0x80) + { + m_procAttacker = PROC_FLAG_ON_DO_PERIODIC; + m_procVictim = PROC_FLAG_ON_TAKE_PERIODIC; + } + break; + } + case SPELLFAMILY_WARLOCK: + { + // For Hellfire Effect / Rain of Fire - trigger as DOT + if (m_spellInfo->SpellFamilyFlags[0] & 0x60) + { + m_procAttacker = PROC_FLAG_ON_DO_PERIODIC; + m_procVictim = PROC_FLAG_ON_TAKE_PERIODIC; + } + break; + } + case SPELLFAMILY_HUNTER: + { + // Volley - trigger as DOT + if (m_spellInfo->SpellFamilyFlags[0] & 0x0002000) + { + m_procAttacker = PROC_FLAG_ON_DO_PERIODIC; + m_procVictim = PROC_FLAG_ON_TAKE_PERIODIC; + } + break; + } + case SPELLFAMILY_DRUID: + { + // Hurricane - trigger as DOT + if (m_spellInfo->SpellFamilyFlags[0] & 0x0400000) + { + m_procAttacker = PROC_FLAG_ON_DO_PERIODIC; + m_procVictim = PROC_FLAG_ON_TAKE_PERIODIC; + } + break; + } + } + // Ranged autorepeat attack is set as triggered spell - ignore it if (!(m_procAttacker & PROC_FLAG_SUCCESSFUL_RANGED_HIT)) { -- cgit v1.2.3