From 61cd6c7509c49538d99b82de2f4b1e2424d2b323 Mon Sep 17 00:00:00 2001 From: Triplecat Date: Fri, 4 Sep 2026 14:14:48 -0300 Subject: [PATCH] Fix radius jewel mods stacking each time Show Node Power is used jewelData.funcList was appended to but never cleared. BuildModList resets jewelData, but GetActiveModListForSlotNum rebuilds the mod list without going through it, so the list grew on every rebuild. CalcSetup adds one radiusJewelList entry per item in it, so each duplicate re-applied the jewel's mods to the nodes in radius. Cleared to nil rather than {} because CalcSetup falls back to the default radius func with funcList or { ... } and an empty table is truthy in Lua. Co-Authored-By: Claude Opus 5 --- src/Classes/Item.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Classes/Item.lua b/src/Classes/Item.lua index d36d34eb65..dd8ac4f4a5 100644 --- a/src/Classes/Item.lua +++ b/src/Classes/Item.lua @@ -2621,6 +2621,12 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum) end local jewelData = self.jewelData + -- Rebuild rather than append: GetActiveModListForSlotNum rebuilds the + -- mod list without going through BuildModList, the only place that + -- resets jewelData, so this list would grow on every rebuild. + -- Cleared to nil, not {}, because CalcSetup falls back to the default + -- radius func with `funcList or { ... }` and {} is truthy in Lua. + jewelData.funcList = nil for _, func in ipairs(modList:List(nil, "JewelFunc")) do jewelData.funcList = jewelData.funcList or { } t_insert(jewelData.funcList, func)