From 35ab476f1691870a67c8ede78e9c37618f6bd383 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 30 Apr 2016 13:02:39 +0200 Subject: Core/Spells: Fixed flat SPELLMOD_DAMAGE_MULTIPLIER calculation --- src/server/game/Spells/SpellInfo.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 977827e9d46..bc16ad62075 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -528,7 +528,7 @@ int32 SpellEffectInfo::CalcValue(Unit const* caster /*= nullptr*/, int32 const* level = int32(_spellInfo->MaxLevel); else if (level < int32(_spellInfo->BaseLevel)) level = int32(_spellInfo->BaseLevel); - if (!_spellInfo->IsPassive()) + if (!_spellInfo->IsPassive()) level -= int32(_spellInfo->SpellLevel); basePoints += int32(level * basePointsPerLevel); } @@ -638,10 +638,10 @@ float SpellEffectInfo::CalcValueMultiplier(Unit* caster, Spell* spell) const float SpellEffectInfo::CalcDamageMultiplier(Unit* caster, Spell* spell) const { - float multiplier = ChainAmplitude; + float multiplierPercent = ChainAmplitude * 100.0f; if (Player* modOwner = (caster ? caster->GetSpellModOwner() : NULL)) - modOwner->ApplySpellMod(_spellInfo->Id, SPELLMOD_DAMAGE_MULTIPLIER, multiplier, spell); - return multiplier; + modOwner->ApplySpellMod(_spellInfo->Id, SPELLMOD_DAMAGE_MULTIPLIER, multiplierPercent, spell); + return multiplierPercent / 100.0f; } bool SpellEffectInfo::HasRadius() const -- cgit v1.2.3