aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorQAston <none@none>2009-06-16 16:35:12 +0200
committerQAston <none@none>2009-06-16 16:35:12 +0200
commitb2745bd33c4c634aee891ef8f637fe58052ae627 (patch)
tree0b229a51ccf9b2e0fe2bdbff93ca1cb4ac29ae64 /src
parent2e6db5421eb0132fc84d26b6f0c28c76a6b89a67 (diff)
parent36bd1172bd3296a6cd3dce2d011a23b3c795938c (diff)
*Merge
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Spell.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 9d730761903..a58e56be0fb 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -800,7 +800,7 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura)
Effects which are result of aura proc from triggered spell cannot proc
to prevent chain proc of these spells
*/
- if (triggeredByAura && !triggeredByAura->GetParentAura()->GetTarget()->CanProc())
+ if ((triggeredByAura && !triggeredByAura->GetParentAura()->GetTarget()->CanProc()) || !m_caster->CanProc())
{
m_canTrigger=false;
}
@@ -808,7 +808,7 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura)
if (m_IsTriggeredSpell &&
(m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER ||
m_spellInfo->AttributesEx3 & SPELL_ATTR_EX3_TRIGGERED_CAN_TRIGGER_2))
- m_procEx |= PROC_EX_INTERNAL_CANT_PROC | PROC_EX_INTERNAL_TRIGGERED;
+ m_procEx |= PROC_EX_INTERNAL_TRIGGERED;
// Totem casts require spellfamilymask defined in spell_proc_event to proc
if (m_originalCaster && m_caster != m_originalCaster && m_caster->GetTypeId()==TYPEID_UNIT && ((Creature*)m_caster)->isTotem() && m_caster->IsControlledByPlayer())
@@ -825,6 +825,8 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura)
m_canTrigger=false;
}
}
+ if (m_IsTriggeredSpell || triggeredByAura)
+ m_procEx |= PROC_EX_INTERNAL_CANT_PROC;
}
void Spell::CleanupTargetList()