diff options
author | Machiavelli <none@none> | 2009-10-07 19:34:20 +0200 |
---|---|---|
committer | Machiavelli <none@none> | 2009-10-07 19:34:20 +0200 |
commit | b059ff3839138d5d350045058df77137e00401ea (patch) | |
tree | e258c5d0e2b075053cc0f5da09cbae6c40ca4d9d /src/game/StatSystem.cpp | |
parent | 58258597d9f056af89f0073588d23c0b0327429b (diff) |
* Do not make nonphysical damage spells that use EffectWeaponDmg (like Seal of Command) receive total damage mod % auras twice - based on nos4r2zod's patch for MaNGOS
--HG--
branch : trunk
Diffstat (limited to 'src/game/StatSystem.cpp')
-rw-r--r-- | src/game/StatSystem.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/game/StatSystem.cpp b/src/game/StatSystem.cpp index 74d790de1a4..56bde0e5442 100644 --- a/src/game/StatSystem.cpp +++ b/src/game/StatSystem.cpp @@ -409,7 +409,7 @@ void Player::UpdateShieldBlockValue() SetUInt32Value(PLAYER_SHIELD_BLOCK, GetShieldBlockValue()); } -void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, float& min_damage, float& max_damage) +void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& min_damage, float& max_damage) { UnitMods unitMod; UnitMods attPower; @@ -436,7 +436,7 @@ void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, fl float base_value = GetModifierValue(unitMod, BASE_VALUE) + GetTotalAttackPowerValue(attType)/ 14.0f * att_speed; float base_pct = GetModifierValue(unitMod, BASE_PCT); float total_value = GetModifierValue(unitMod, TOTAL_VALUE); - float total_pct = GetModifierValue(unitMod, TOTAL_PCT); + float total_pct = addTotalPct ? GetModifierValue(unitMod, TOTAL_PCT) : 1.0f; float weapon_mindamage = GetWeaponDamageRange(attType, MINDAMAGE); float weapon_maxdamage = GetWeaponDamageRange(attType, MAXDAMAGE); @@ -476,7 +476,7 @@ void Player::UpdateDamagePhysical(WeaponAttackType attType) float mindamage; float maxdamage; - CalculateMinMaxDamage(attType,false,mindamage,maxdamage); + CalculateMinMaxDamage(attType, false, true, mindamage, maxdamage); switch(attType) { |