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
|
||||
*/
|
||||
|
||||
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))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user