diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 46c5d75a3..2eff38aa0 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2226,7 +2226,20 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) } } - int32 bp = int32(count * m_caster->GetMaxHealth() * m_spellInfo->DmgMultiplier[0] / 100); + int32 bp = int32(count * m_caster->GetMaxHealth() * m_spellInfo->DmgMultiplier[EFFECT_INDEX_0] / 100); + + // Improved Death Strike (percent stored in not existed EFFECT_INDEX_2 effect base points) + Unit::AuraList const& auraMod = m_caster->GetAurasByType(SPELL_AURA_ADD_FLAT_MODIFIER); + for(Unit::AuraList::const_iterator iter = auraMod.begin(); iter != auraMod.end(); ++iter) + { + // only required spell have spellicon for SPELL_AURA_ADD_FLAT_MODIFIER + if ((*iter)->GetSpellProto()->SpellIconID == 2751 && (*iter)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DEATHKNIGHT) + { + bp += (*iter)->GetSpellProto()->CalculateSimpleValue(EFFECT_INDEX_2) * bp / 100; + break; + } + } + m_caster->CastCustomSpell(m_caster, 45470, &bp, NULL, NULL, true); return; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index ddc8f08da..fe28e11eb 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9452" + #define REVISION_NR "9453" #endif // __REVISION_NR_H__