Some spells with special proc state, some talents like it
--HG-- branch : trunk
This commit is contained in:
@@ -790,6 +790,50 @@ void Spell::prepareDataForTriggerSystem(AuraEffect const * /*triggeredByAura*/)
|
|||||||
to prevent chain proc of these spells
|
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
|
// Ranged autorepeat attack is set as triggered spell - ignore it
|
||||||
if (!(m_procAttacker & PROC_FLAG_SUCCESSFUL_RANGED_HIT))
|
if (!(m_procAttacker & PROC_FLAG_SUCCESSFUL_RANGED_HIT))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user