aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellInfo.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-11-18 00:04:02 +0100
committerShauren <shauren.trinity@gmail.com>2016-11-18 00:04:02 +0100
commitd64da044d87dd8c792dd3e8dc1be53e81c701273 (patch)
treefffe2ee67a119d81511928d3bda4ac4deb2466cd /src/server/game/Spells/SpellInfo.cpp
parentcd898ac446dda1c2ccd5163d10bba341b8a6b5bd (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.cpp8
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);