aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 11cbc12ca16..52c634cc05a 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2423,10 +2423,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)
{
@@ -2445,8 +2447,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->Id, spell->m_spellSchoolMask);
// Check damage immunity
@@ -2486,7 +2490,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->Id, spell->m_spellSchoolMask);