diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-11-18 00:04:02 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-11-18 00:04:02 +0100 |
commit | d64da044d87dd8c792dd3e8dc1be53e81c701273 (patch) | |
tree | fffe2ee67a119d81511928d3bda4ac4deb2466cd /src/server/game/Spells/SpellInfo.cpp | |
parent | cd898ac446dda1c2ccd5163d10bba341b8a6b5bd (diff) |
Core/Items: Fixed secondary stat calculation at item levels > 800
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 45756a36ba1..45a79f8c458 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -491,7 +491,13 @@ int32 SpellEffectInfo::CalcValue(Unit const* caster /*= nullptr*/, int32 const* value = gtScaling->Item; } else - value = GetRandomPropertyPoints(itemLevel != -1 ? uint32(itemLevel) : 1u, ITEM_QUALITY_RARE, INVTYPE_CHEST, 0); + { + uint32 effectiveItemLevel = itemLevel != -1 ? uint32(itemLevel) : 1u; + value = GetRandomPropertyPoints(effectiveItemLevel, ITEM_QUALITY_RARE, INVTYPE_CHEST, 0); + if (IsAura() && ApplyAuraName == SPELL_AURA_MOD_RATING) + if (GtCombatRatingsMultByILvl const* ratingMult = sCombatRatingsMultByILvlGameTable.GetRow(effectiveItemLevel)) + value *= ratingMult->RatingMultiplier; + } } else value = GetRandomPropertyPoints(_spellInfo->Scaling.ScalesFromItemLevel, ITEM_QUALITY_RARE, INVTYPE_CHEST, 0); |