diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 6 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_warlock.cpp | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index f7bf7a68672..9efb49d5935 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -1209,8 +1209,12 @@ class spell_pri_vampiric_touch : public SpellScriptLoader if (AuraEffect const* aurEff = GetEffect(EFFECT_1)) { // backfire damage + int32 bp = aurEff->GetAmount(); + bp = target->SpellDamageBonusTaken(caster, aurEff->GetSpellInfo(), bp, DOT); + bp *= 8; + CastSpellExtraArgs args(aurEff); - args.AddSpellBP0(aurEff->GetAmount() * 8); + args.AddSpellBP0(bp); caster->CastSpell(target, SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL, args); } } diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index f4fcb96ace5..f11802d79a5 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -904,13 +904,20 @@ class spell_warl_unstable_affliction : public SpellScriptLoader void HandleDispel(DispelInfo* dispelInfo) { if (Unit* caster = GetCaster()) + { if (AuraEffect const* aurEff = GetEffect(EFFECT_1)) { + Unit* target = dispelInfo->GetDispeller(); + int32 bp = aurEff->GetAmount(); + bp = target->SpellDamageBonusTaken(caster, aurEff->GetSpellInfo(), bp, DOT); + bp *= 9; + // backfire damage and silence CastSpellExtraArgs args(aurEff); - args.AddSpellBP0(aurEff->GetAmount() * 9); - caster->CastSpell(dispelInfo->GetDispeller(), SPELL_WARLOCK_UNSTABLE_AFFLICTION_DISPEL, args); + args.AddSpellBP0(bp); + caster->CastSpell(target, SPELL_WARLOCK_UNSTABLE_AFFLICTION_DISPEL, args); } + } } void Register() override |