mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-18 22:19:54 -04:00
*Merge with Trinity 783.
--HG-- branch : trunk
This commit is contained in:
+16
-10
@@ -938,7 +938,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
|
||||
SpellNonMeleeDamage damageInfo(caster, unitTarget, m_spellInfo->Id, m_spellSchoolMask);
|
||||
|
||||
// Add bonuses and fill damageInfo struct
|
||||
caster->CalculateSpellDamage(&damageInfo, m_damage, m_spellInfo);
|
||||
caster->CalculateSpellDamageTaken(&damageInfo, m_damage, m_spellInfo);
|
||||
|
||||
// Send log damage message to client
|
||||
caster->SendSpellNonMeleeDamageLog(&damageInfo);
|
||||
@@ -5536,19 +5536,14 @@ void Spell::CalculateDamageDoneForAllTargets()
|
||||
|
||||
int32 Spell::CalculateDamageDone(Unit *unit, const uint32 effectMask, float *multiplier)
|
||||
{
|
||||
m_damage = 0;
|
||||
int32 damageDone = 0;
|
||||
unitTarget = unit;
|
||||
for(uint32 i = 0; i < 3; ++i)
|
||||
{
|
||||
if (effectMask & (1<<i))
|
||||
{
|
||||
if(m_applyMultiplierMask & (1 << i))
|
||||
{
|
||||
damage = CalculateDamage(i, NULL) * m_damageMultipliers[i];
|
||||
m_damageMultipliers[i] *= multiplier[i];
|
||||
}
|
||||
else
|
||||
damage = CalculateDamage(i, NULL);
|
||||
m_damage = 0;
|
||||
damage = CalculateDamage(i, NULL);
|
||||
|
||||
switch(m_spellInfo->Effect[i])
|
||||
{
|
||||
@@ -5565,7 +5560,18 @@ int32 Spell::CalculateDamageDone(Unit *unit, const uint32 effectMask, float *mul
|
||||
SpellDamageHeal(i);
|
||||
break;
|
||||
}
|
||||
|
||||
if(m_damage > 0 && m_originalCaster)
|
||||
m_damage = m_originalCaster->SpellDamageBonus(unit, m_spellInfo, m_damage, SPELL_DIRECT_DAMAGE);
|
||||
if(m_applyMultiplierMask & (1 << i))
|
||||
{
|
||||
m_damage *= m_damageMultipliers[i];
|
||||
m_damageMultipliers[i] *= multiplier[i];
|
||||
}
|
||||
|
||||
damageDone += m_damage;
|
||||
}
|
||||
}
|
||||
return m_damage;
|
||||
|
||||
return damageDone;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user