mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 19:37:02 +00:00
[7320] Avoid apply harcoded (unexpectadly) percent value 2 times to weapon damage part of special weapon ability.
This commit is contained in:
parent
3910fc4898
commit
601f305521
2 changed files with 8 additions and 2 deletions
|
|
@ -4289,6 +4289,8 @@ void Spell::EffectWeaponDmg(uint32 i)
|
||||||
|
|
||||||
// some spell specific modifiers
|
// some spell specific modifiers
|
||||||
bool customBonusDamagePercentMod = false;
|
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 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 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
|
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
|
// Seal of Command - receive benefit from Spell Damage and Healing
|
||||||
if(m_spellInfo->SpellFamilyFlags & 0x00000002000000LL)
|
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.23f*m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo)));
|
||||||
spell_bonus += int32(0.29f*m_caster->SpellBaseDamageBonusForVictim(GetSpellSchoolMask(m_spellInfo), unitTarget));
|
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
|
// non-weapon damage
|
||||||
int32 bonus = spell_bonus + fixed_bonus;
|
int32 bonus = spell_bonus + fixed_bonus;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7319"
|
#define REVISION_NR "7320"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue