diff options
-rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 1f4f61b193b..03d9fb17dae 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -542,8 +542,19 @@ void Spell::SpellDamageSchoolDmg(SpellEffIndex effIndex) else if (m_spellInfo->SpellFamilyFlags[1] & 0x400000) { if (m_caster->GetTypeId() == TYPEID_UNIT && m_caster->ToCreature()->isPet()) + { // Get DoTs on target by owner (5% increase by dot) damage += int32(CalculatePctN(unitTarget->GetDoTsByCaster(m_caster->GetOwnerGUID()), 5)); + + if (Player* owner = m_caster->GetOwner()->ToPlayer()) + { + if (AuraEffect* aurEff = owner->GetAuraEffect(SPELL_AURA_ADD_FLAT_MODIFIER, SPELLFAMILY_WARLOCK, 214, 0)) + { + int32 bp0 = aurEff->GetId() == 54037 ? 4 : 8; + m_caster->CastCustomSpell(m_caster, 54425, &bp0, NULL, NULL, true); + } + } + } } break; } |