Core/Spells: Improve check for non damage/heal spells in Spell::TargetInfo::DoDamageAndTriggers

Port From (https://github.com/TrinityCore/TrinityCore/commit/aa38443cf388799a5debd9cbcb787f882b840530)
This commit is contained in:
hondacrx
2022-02-18 13:14:59 -05:00
parent e2bbb95a96
commit 246c5c5eeb
+5 -1
View File
@@ -8083,10 +8083,12 @@ namespace Game.Spells
// All calculated do it! // All calculated do it!
// Do healing // Do healing
bool hasHealing = false;
DamageInfo spellDamageInfo = null; DamageInfo spellDamageInfo = null;
HealInfo healInfo = null; HealInfo healInfo = null;
if (spell.m_healing > 0) if (spell.m_healing > 0)
{ {
hasHealing = true;
int addhealth = spell.m_healing; int addhealth = spell.m_healing;
if (IsCrit) if (IsCrit)
{ {
@@ -8105,8 +8107,10 @@ namespace Game.Spells
} }
// Do damage // Do damage
bool hasDamage = false;
if (spell.m_damage > 0) if (spell.m_damage > 0)
{ {
hasDamage = true;
// Fill base damage struct (unitTarget - is real spell target) // Fill base damage struct (unitTarget - is real spell target)
SpellNonMeleeDamage damageInfo = new(caster, spell.unitTarget, spell.m_spellInfo, spell.m_SpellVisual, spell.m_spellSchoolMask, spell.m_castId); SpellNonMeleeDamage damageInfo = new(caster, spell.unitTarget, spell.m_spellInfo, spell.m_SpellVisual, spell.m_spellSchoolMask, spell.m_castId);
// Check damage immunity // Check damage immunity
@@ -8147,7 +8151,7 @@ namespace Game.Spells
} }
// Passive spell hits/misses or active spells only misses (only triggers) // 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) // Fill base damage struct (unitTarget - is real spell target)
SpellNonMeleeDamage damageInfo = new(caster, spell.unitTarget, spell.m_spellInfo, spell.m_SpellVisual, spell.m_spellSchoolMask); SpellNonMeleeDamage damageInfo = new(caster, spell.unitTarget, spell.m_spellInfo, spell.m_SpellVisual, spell.m_spellSchoolMask);