aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 378e6f0b2bc..07a70f6bc17 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -671,11 +671,6 @@ void Spell::prepareDataForTriggerSystem()
// Create base triggers flags for Attacker and Victim ( m_procAttacker and m_procVictim)
//==========================================================================================
- m_canTrigger = true;
-
- if (m_CastItem && m_spellInfo->SpellFamilyName != SPELLFAMILY_POTION)
- m_canTrigger = false; // Do not trigger from item cast spell(except potions)
-
// Get data for type of attack and fill base info for trigger
switch (m_spellInfo->DmgClass)
{
@@ -958,7 +953,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
procEx |= PROC_EX_NORMAL_HIT;
// Do triggers for unit (reflect triggers passed on hit phase for correct drop charge)
- if (m_canTrigger && missInfo != SPELL_MISS_REFLECT)
+ if (missInfo != SPELL_MISS_REFLECT)
caster->ProcDamageAndSpell(unitTarget, procAttacker, procVictim, procEx, addhealth, m_attackType, m_spellInfo);
if (m_spellAura)
@@ -983,7 +978,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
procVictim |= PROC_FLAG_TAKEN_ANY_DAMAGE;
// Do triggers for unit (reflect triggers passed on hit phase for correct drop charge)
- if (m_canTrigger && missInfo != SPELL_MISS_REFLECT)
+ if (missInfo != SPELL_MISS_REFLECT)
caster->ProcDamageAndSpell(unitTarget, procAttacker, procVictim, procEx, damageInfo.damage, m_attackType, m_spellInfo);
if (m_spellAura)
@@ -1005,7 +1000,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
SpellNonMeleeDamage damageInfo(caster, unitTarget, m_spellInfo->Id, m_spellSchoolMask);
procEx |= createProcExtendMask(&damageInfo, missInfo);
// Do triggers for unit (reflect triggers passed on hit phase for correct drop charge)
- if (m_canTrigger && missInfo != SPELL_MISS_REFLECT)
+ if (missInfo != SPELL_MISS_REFLECT)
caster->ProcDamageAndSpell(unit, procAttacker, procVictim, procEx, 0, m_attackType, m_spellInfo);
}
@@ -1039,8 +1034,7 @@ void Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask)
// Recheck immune (only for delayed spells)
if( m_spellInfo->speed &&
- !(m_spellInfo->Attributes & SPELL_ATTR_UNAFFECTED_BY_INVULNERABILITY)
- && (unit->IsImmunedToDamage(GetSpellSchoolMask(m_spellInfo)) ||
+ (unit->IsImmunedToDamage(m_spellInfo) ||
unit->IsImmunedToSpell(m_spellInfo)))
{
m_caster->SendSpellMiss(unit, m_spellInfo->Id, SPELL_MISS_IMMUNE);