diff --git a/src/Modules/CalcSetup.lua b/src/Modules/CalcSetup.lua index dd8603c851..e33109c645 100644 --- a/src/Modules/CalcSetup.lua +++ b/src/Modules/CalcSetup.lua @@ -712,7 +712,12 @@ function calcs.initEnv(build, mode, override, specEnv) item.jewelData.limitDisabled = nil end if item and item.type == "Jewel" and item.name:match("The Adorned, Crimson Jewel") then - env.modDB.multipliers["CorruptedMagicJewelEffect"] = item.jewelData.corruptedMagicJewelIncEffect / 100 + if item.jewelData.corruptedMagicJewelIncEffect then + env.modDB.multipliers["CorruptedMagicJewelEffect"] = item.jewelData.corruptedMagicJewelIncEffect / 100 + end + if item.jewelData.corruptedRareJewelIncEffect then + env.modDB.multipliers["CorruptedRareJewelEffect"] = item.jewelData.corruptedRareJewelIncEffect / 100 + end end if item.limit and not env.configInput.ignoreJewelLimits then local limitKey = item.base.subType == "Timeless" and "Historic" or item.title @@ -1061,8 +1066,8 @@ function calcs.initEnv(build, mode, override, specEnv) combinedList:MergeMod(mod) end env.itemModDB:ScaleAddList(combinedList, scale) - elseif env.modDB.multipliers["CorruptedMagicJewelEffect"] and item.type == "Jewel" and item.rarity == "MAGIC" and item.corrupted and slot.nodeId and item.base.subType ~= "Charm" then - scale = scale + env.modDB.multipliers["CorruptedMagicJewelEffect"] + elseif env.modDB.multipliers["Corrupted" .. item.rarity:gsub("(%a)(%u*)", function(a, b) return a..string.lower(b) end) .. "JewelEffect"] and item.type == "Jewel" and item.corrupted and slot.nodeId and item.base.subType ~= "Charm" and not env.spec.nodes[slot.nodeId].containJewelSocket then + scale = scale + env.modDB.multipliers["Corrupted" .. item.rarity:gsub("(%a)(%u*)", function(a, b) return a..string.lower(b) end) .. "JewelEffect"] local combinedList = new("ModList") for _, mod in ipairs(srcList) do combinedList:MergeMod(mod) diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index c884ca3eaf..dc77b15b83 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -4914,8 +4914,8 @@ local specialModList = { ["added small passive skills grant nothing"] = { mod("JewelData", "LIST", { key = "clusterJewelSmallsAreNothingness", value = true }) }, ["added small passive skills have (%d+)%% increased effect"] = function(num) return { mod("JewelData", "LIST", { key = "clusterJewelIncEffect", value = num }) } end, ["this jewel's socket has (%d+)%% increased effect per allocated passive skill between it and your class' starting location"] = function(num) return { mod("JewelData", "LIST", { key = "jewelIncEffectFromClassStart", value = num }) } end, - ["(%d+)%% increased effect of jewel socket passive skills containing corrupted magic jewels, if not from cluster jewels"] = function(num) return { mod("JewelData", "LIST", { key = "corruptedMagicJewelIncEffect", value = num }) } end, - ["(%d+)%% increased effect of jewel socket passive skills containing corrupted magic jewels"] = function(num) return { mod("JewelData", "LIST", { key = "corruptedMagicJewelIncEffect", value = num }) } end, + ["(%d+)%% increased effect of jewel socket passive skills containing corrupted (m?r?ag?r?i?e?c?) jewels, if not from cluster jewels"] = function(num, _, rarity) return { mod("JewelData", "LIST", { key = "corrupted" .. firstToUpper(rarity) .. "JewelIncEffect", value = num }) } end, + ["(%d+)%% increased effect of jewel socket passive skills containing corrupted (m?r?ag?r?i?e?c?) jewels"] = function(num, _, rarity) return { mod("JewelData", "LIST", { key = "corrupted" .. firstToUpper(rarity) .. "JewelIncEffect", value = num }) } end, -- Misc ["can't use chest armour"] = { mod("CanNotUseItem", "Flag", 1, { type = "DisablesItem", slotName = "Body Armour" }) }, ["can't use helmets?"] = { mod("CanNotUseItem", "Flag", 1, { type = "DisablesItem", slotName = "Helmet" }) },