diff --git a/src/server/game/Entities/Unit/Stats.cpp b/src/server/game/Entities/Unit/Stats.cpp index 8ab21c74e9..69693011f5 100644 --- a/src/server/game/Entities/Unit/Stats.cpp +++ b/src/server/game/Entities/Unit/Stats.cpp @@ -234,7 +234,7 @@ void Stats::updateStat(StatType statType) // ==== Calculate the total base value (Base pct multiplier auras) double basePctMultiplier = _basePctMultipliers[AsUnderlyingType(statType)]; - int32 baseTotalValue = static_cast(flatStatValue * basePctMultiplier); + int32 baseTotalValue = static_cast(std::round(flatStatValue * basePctMultiplier)); if (flatStatValue < baseTotalValue) posStatValue += baseTotalValue - flatStatValue; else @@ -251,7 +251,7 @@ void Stats::updateStat(StatType statType) // ==== Calculate the total value (Total pct multipliers) double totalPctMultiplier = _totalPctMultipliers[AsUnderlyingType(statType)]; - int32 statValue = static_cast(totalValue * totalPctMultiplier); + int32 statValue = static_cast(std::round(totalValue * totalPctMultiplier)); if (totalValue < statValue) posStatValue += statValue - totalValue; else