diff options
| author | Kandera <KanderaDev@gmail.com> | 2012-06-08 10:08:02 -0400 |
|---|---|---|
| committer | Kandera <KanderaDev@gmail.com> | 2012-06-08 10:08:02 -0400 |
| commit | 6107e48f8b0f80cdefa725055ef662c41ff4bb82 (patch) | |
| tree | c5e48241dd1681a1fdae07abf75dc62130d482bb /src | |
| parent | 643b68926eb895c155df76e8534bca8155dbe87d (diff) | |
Core/Spells: fix scourge strike extra damage. thanks to tibbi
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/Spells/spell_dk.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index 36dcb53ad00..7a4b8f273d2 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -381,6 +381,7 @@ class spell_dk_scourge_strike : public SpellScriptLoader class spell_dk_scourge_strike_SpellScript : public SpellScript { PrepareSpellScript(spell_dk_scourge_strike_SpellScript); + float multiplier; bool Validate(SpellInfo const* /*spellEntry*/) { @@ -393,8 +394,15 @@ class spell_dk_scourge_strike : public SpellScriptLoader { Unit* caster = GetCaster(); if (Unit* unitTarget = GetHitUnit()) + multiplier = (GetEffectValue() * unitTarget->GetDiseasesByCaster(caster->GetGUID()) / 100.f); + } + + void HandleAfterHit() + { + Unit* caster = GetCaster(); + if (Unit* unitTarget = GetHitUnit()) { - int32 bp = CalculatePctN(GetHitDamage(), GetEffectValue() * unitTarget->GetDiseasesByCaster(caster->GetGUID())); + int32 bp = GetHitDamage() * multiplier; caster->CastCustomSpell(unitTarget, DK_SPELL_SCOURGE_STRIKE_TRIGGERED, &bp, NULL, NULL, true); } } @@ -402,6 +410,7 @@ class spell_dk_scourge_strike : public SpellScriptLoader void Register() { OnEffectHitTarget += SpellEffectFn(spell_dk_scourge_strike_SpellScript::HandleDummy, EFFECT_2, SPELL_EFFECT_DUMMY); + AfterHit += SpellHitFn(spell_dk_scourge_strike_SpellScript::HandleAfterHit); } }; |
