Core/Spells: Fix Glyph of Shadow Word: Death
This commit is contained in:
@@ -10655,6 +10655,14 @@ uint32 Unit::SpellDamageBonus(Unit* victim, SpellEntry const* spellProto, uint32
|
|||||||
if (victim->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_PRIEST, 0x100000, 0, 0, GetGUID()))
|
if (victim->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_PRIEST, 0x100000, 0, 0, GetGUID()))
|
||||||
AddPctN(DoneTotalMod, aurEff->GetAmount());
|
AddPctN(DoneTotalMod, aurEff->GetAmount());
|
||||||
}
|
}
|
||||||
|
// Shadow Word: Death
|
||||||
|
else if (spellProto->SpellFamilyFlags[1] & 0x2)
|
||||||
|
{
|
||||||
|
// Glyph of Shadow Word: Death
|
||||||
|
if (AuraEffect* aurEff = GetAuraEffect(55682, 1))
|
||||||
|
if (victim->HasAuraState(AURA_STATE_HEALTHLESS_35_PERCENT))
|
||||||
|
AddPctN(DoneTotalMod, aurEff->GetAmount());
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SPELLFAMILY_PALADIN:
|
case SPELLFAMILY_PALADIN:
|
||||||
// Judgement of Vengeance/Judgement of Corruption
|
// Judgement of Vengeance/Judgement of Corruption
|
||||||
|
|||||||
@@ -558,11 +558,11 @@ void Spell::SpellDamageSchoolDmg(SpellEffIndex effIndex)
|
|||||||
case SPELLFAMILY_PRIEST:
|
case SPELLFAMILY_PRIEST:
|
||||||
{
|
{
|
||||||
// Shadow Word: Death - deals damage equal to damage done to caster
|
// Shadow Word: Death - deals damage equal to damage done to caster
|
||||||
if ((m_spellInfo->SpellFamilyFlags[1] & 0x2))
|
if (m_spellInfo->SpellFamilyFlags[1] & 0x2)
|
||||||
{
|
{
|
||||||
int32 back_damage = m_caster->SpellDamageBonus(unitTarget, m_spellInfo, (uint32)damage, SPELL_DIRECT_DAMAGE);
|
int32 back_damage = m_caster->SpellDamageBonus(unitTarget, m_spellInfo, (uint32)damage, SPELL_DIRECT_DAMAGE);
|
||||||
// Pain and Suffering reduces damage
|
// Pain and Suffering reduces damage
|
||||||
if (AuraEffect * aurEff = m_caster->GetDummyAuraEffect(SPELLFAMILY_PRIEST, 2874, 0))
|
if (AuraEffect* aurEff = m_caster->GetDummyAuraEffect(SPELLFAMILY_PRIEST, 2874, 0))
|
||||||
AddPctN(back_damage, -aurEff->GetAmount());
|
AddPctN(back_damage, -aurEff->GetAmount());
|
||||||
|
|
||||||
if (back_damage < int32(unitTarget->GetHealth()))
|
if (back_damage < int32(unitTarget->GetHealth()))
|
||||||
|
|||||||
Reference in New Issue
Block a user