Skip to content

Commit 0ed1dd8

Browse files
authored
Fix rounding of scaled mods being incorrect in some cases (#8862)
* Fixes #8860: Rounding of scaled mods was incorrect in some cases * Don't include boolean or table mods
1 parent bf3de46 commit 0ed1dd8

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/Classes/ModList.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ function ModListClass:ReplaceModInternal(mod)
4646
end
4747

4848
function ModListClass:MergeMod(mod)
49-
if mod.type == "BASE" or mod.type == "INC" then
49+
if mod.type == "BASE" or mod.type == "INC" or mod.type == "MORE" then
5050
for i = 1, #self do
5151
if modLib.compareModParams(self[i], mod) then
5252
self[i] = copyTable(self[i], true)

src/Modules/CalcSetup.lua

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,19 +1051,29 @@ function calcs.initEnv(build, mode, override, specEnv)
10511051
end
10521052
env.itemModDB:ScaleAddList(combinedList, scale)
10531053
elseif item.type == "Gloves" and calcLib.mod(env.initialNodeModDB, nil, "EffectOfBonusesFromGloves") ~=1 then
1054-
scale = calcLib.mod(env.initialNodeModDB, nil, "EffectOfBonusesFromGloves")
1054+
scale = calcLib.mod(env.initialNodeModDB, nil, "EffectOfBonusesFromGloves") - 1
10551055
local combinedList = new("ModList")
10561056
for _, mod in ipairs(srcList) do
10571057
combinedList:MergeMod(mod)
10581058
end
1059-
env.itemModDB:ScaleAddList(combinedList, scale)
1059+
local scaledList = new("ModList")
1060+
scaledList:ScaleAddList(combinedList, scale)
1061+
for _, mod in ipairs(scaledList) do
1062+
combinedList:MergeMod(mod)
1063+
end
1064+
env.itemModDB:AddList(combinedList)
10601065
elseif item.type == "Boots" and calcLib.mod(env.initialNodeModDB, nil, "EffectOfBonusesFromBoots") ~= 1 then
1061-
scale = calcLib.mod(env.initialNodeModDB, nil, "EffectOfBonusesFromBoots")
1066+
scale = calcLib.mod(env.initialNodeModDB, nil, "EffectOfBonusesFromBoots") - 1
10621067
local combinedList = new("ModList")
10631068
for _, mod in ipairs(srcList) do
10641069
combinedList:MergeMod(mod)
10651070
end
1066-
env.itemModDB:ScaleAddList(combinedList, scale)
1071+
local scaledList = new("ModList")
1072+
scaledList:ScaleAddList(combinedList, scale)
1073+
for _, mod in ipairs(scaledList) do
1074+
combinedList:MergeMod(mod)
1075+
end
1076+
env.itemModDB:AddList(combinedList)
10671077
else
10681078
env.itemModDB:ScaleAddList(srcList, scale)
10691079
end

0 commit comments

Comments
 (0)