aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
authorQAston <none@none>2009-05-10 20:15:35 +0200
committerQAston <none@none>2009-05-10 20:15:35 +0200
commit95504364e04b33345d7c7251383eb719ab64bf8c (patch)
tree47e541c440ece4066e7eba56c7950c2241a32895 /src/game/Spell.cpp
parent53b3c9a6dc6cf96a0ce0769a3ad431f1d6c4768c (diff)
Do not proc relentless strikes with slice and dice twice, fix vanish stealth apply
--HG-- branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 2227bc4c92b..4fdd26c806f 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -978,7 +978,8 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
uint32 procEx = PROC_EX_NONE;
//Spells with this flag cannot trigger if effect is casted on self
- bool canEffectTrigger = (m_spellInfo->AttributesEx4 & SPELL_ATTR_EX4_CANT_PROC_FROM_SELFCAST ? m_caster!=unitTarget : true)
+ // Slice and Dice, relentless strikes, eviscerate
+ bool canEffectTrigger = (m_spellInfo->AttributesEx4 & (SPELL_ATTR_EX4_CANT_PROC_FROM_SELFCAST | SPELL_ATTR_EX4_UNK4) ? m_caster!=unitTarget : true)
&& m_canTrigger;
if (missInfo==SPELL_MISS_NONE) // In case spell hit target, do all effect on that target
@@ -1222,7 +1223,7 @@ void Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask)
((Creature*)m_caster)->AI()->SpellHitTarget(unit, m_spellInfo);
// spells with this flag can trigger only if not selfcast (eviscerate for example)
- if (m_ChanceTriggerSpells.size() && (!(m_spellInfo->AttributesEx4 & SPELL_ATTR_EX4_CANT_PROC_FROM_SELFCAST) || unit!=m_caster))
+ if (m_ChanceTriggerSpells.size() && (!(m_spellInfo->AttributesEx4 & SPELL_ATTR_EX4_CANT_PROC_FROM_SELFCAST | SPELL_ATTR_EX4_UNK4) || unit!=m_caster))
{
int _duration=0;
for(ChanceTriggerSpells::const_iterator i = m_ChanceTriggerSpells.begin(); i != m_ChanceTriggerSpells.end(); ++i)