diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 3cf1362da..9d937a29c 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -4289,6 +4289,8 @@ void Spell::EffectWeaponDmg(uint32 i) // some spell specific modifiers bool customBonusDamagePercentMod = false; + bool spellBonusNeedWeaponDamagePercentMod = false; // if set applied weapon damage percent mode to spell bonus + float bonusDamagePercentMod = 1.0f; // applied to fixed effect damage bonus if set customBonusDamagePercentMod float weaponDamagePercentMod = 1.0f; // applied to weapon damage (and to fixed effect damage bonus if customBonusDamagePercentMod not set float totalDamagePercentMod = 1.0f; // applied to final bonus+weapon damage @@ -4366,7 +4368,7 @@ void Spell::EffectWeaponDmg(uint32 i) // Seal of Command - receive benefit from Spell Damage and Healing if(m_spellInfo->SpellFamilyFlags & 0x00000002000000LL) { - totalDamagePercentMod = 0.45f; + spellBonusNeedWeaponDamagePercentMod = true;// apply weaponDamagePercentMod to spell_bonus (and then to all bonus, fixes and weapon already have applied) spell_bonus += int32(0.23f*m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo))); spell_bonus += int32(0.29f*m_caster->SpellBaseDamageBonusForVictim(GetSpellSchoolMask(m_spellInfo), unitTarget)); } @@ -4419,6 +4421,10 @@ void Spell::EffectWeaponDmg(uint32 i) } } + // apply weaponDamagePercentMod to spell bonus also + if(spellBonusNeedWeaponDamagePercentMod) + spell_bonus = int32(spell_bonus*weaponDamagePercentMod); + // non-weapon damage int32 bonus = spell_bonus + fixed_bonus; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index cb62d4285..6ec4ba4b4 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 "7319" + #define REVISION_NR "7320" #endif // __REVISION_NR_H__