aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Spell.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 656865a5ccc..27537aaee41 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2582,10 +2582,12 @@ void Spell::TargetInfo::DoDamageAndTriggers(Spell* spell)
// All calculated do it!
// Do healing
+ bool hasHealing = false;
std::unique_ptr<DamageInfo> spellDamageInfo;
std::unique_ptr<HealInfo> healInfo;
if (spell->m_healing > 0)
{
+ hasHealing = true;
uint32 addhealth = spell->m_healing;
if (IsCrit)
{
@@ -2604,8 +2606,10 @@ void Spell::TargetInfo::DoDamageAndTriggers(Spell* spell)
}
// Do damage
+ bool hasDamage = false;
if (spell->m_damage > 0)
{
+ hasDamage = true;
// Fill base damage struct (unitTarget - is real spell target)
SpellNonMeleeDamage damageInfo(caster, spell->unitTarget, spell->m_spellInfo, spell->m_SpellVisual, spell->m_spellSchoolMask, spell->m_castId);
// Check damage immunity
@@ -2646,7 +2650,7 @@ void Spell::TargetInfo::DoDamageAndTriggers(Spell* spell)
}
// Passive spell hits/misses or active spells only misses (only triggers)
- if (spell->m_damage <= 0 && spell->m_healing <= 0)
+ if (!hasHealing && !hasDamage)
{
// Fill base damage struct (unitTarget - is real spell target)
SpellNonMeleeDamage damageInfo(caster, spell->unitTarget, spell->m_spellInfo, spell->m_SpellVisual, spell->m_spellSchoolMask);