[7320] Avoid apply harcoded (unexpectadly) percent value 2 times to weapon damage part of special weapon ability.

This commit is contained in:
VladimirMangos 2009-02-21 22:07:24 +03:00
parent 3910fc4898
commit 601f305521
2 changed files with 8 additions and 2 deletions

View file

@ -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;

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "7319"
#define REVISION_NR "7320"
#endif // __REVISION_NR_H__