@@ -271,12 +271,13 @@ local function getGemModList(env, groupCfg, socketColor, socketNum)
271271 local gemCfg = copyTable (groupCfg , true )
272272 gemCfg .socketColor = socketColor
273273 gemCfg .socketNum = socketNum
274- return env .modDB :List ( gemCfg , " GemProperty" )
274+ return env .modDB :Tabulate ( " LIST " , gemCfg , " GemProperty" )
275275end
276276
277277local function applyGemMods (effect , modList )
278- for _ , value in ipairs (modList ) do
278+ for _ , mod in ipairs (modList ) do
279279 local match = true
280+ local value = mod .value
280281 if value .keywordList then
281282 for _ , keyword in ipairs (value .keywordList ) do
282283 if not calcLib .gemIsType (effect .gemData , keyword , true ) then
@@ -289,6 +290,8 @@ local function applyGemMods(effect, modList)
289290 end
290291 if match then
291292 effect [value .key ] = (effect [value .key ] or 0 ) + value .value
293+ effect .gemPropertyInfo = effect .gemPropertyInfo or {}
294+ t_insert (effect .gemPropertyInfo , mod )
292295 end
293296 end
294297end
@@ -1330,7 +1333,7 @@ function calcs.initEnv(build, mode, override, specEnv)
13301333 groupCfgList [slotName or " noSlot" ] = groupCfgList [slotName or " noSlot" ] or {}
13311334 groupCfgList [slotName or " noSlot" ][group ] = groupCfgList [slotName or " noSlot" ][group ] or {
13321335 slotName = slotName ,
1333- propertyModList = env .modDB :List ( {slotName = slotName }, " GemProperty" )
1336+ propertyModList = env .modDB :Tabulate ( " LIST " , {slotName = slotName }, " GemProperty" )
13341337 }
13351338 local groupCfg = groupCfgList [slotName or " noSlot" ][group ]
13361339 local propertyModList = groupCfg .propertyModList
@@ -1433,7 +1436,7 @@ function calcs.initEnv(build, mode, override, specEnv)
14331436 local slotName = group .slot and group .slot :gsub (" Swap" ," " )
14341437 groupCfgList [slotName or " noSlot" ][group ] = groupCfgList [slotName or " noSlot" ][group ] or {
14351438 slotName = slotName ,
1436- propertyModList = env .modDB :List ( {slotName = slotName }, " GemProperty" )
1439+ propertyModList = env .modDB :Tabulate ( " LIST " , {slotName = slotName }, " GemProperty" )
14371440 }
14381441 local groupCfg = groupCfgList [slotName or " noSlot" ][group ]
14391442 local propertyModList = groupCfg .propertyModList
@@ -1555,7 +1558,7 @@ function calcs.initEnv(build, mode, override, specEnv)
15551558 if index == env .mainSocketGroup or (group .enabled and group .slotEnabled ) then
15561559 groupCfgList [slotName or " noSlot" ][group ] = groupCfgList [slotName or " noSlot" ][group ] or {
15571560 slotName = slotName ,
1558- propertyModList = env .modDB :List ( {slotName = slotName }, " GemProperty" )
1561+ propertyModList = env .modDB :Tabulate ( " LIST " , {slotName = slotName }, " GemProperty" )
15591562 }
15601563 local groupCfg = groupCfgList [slotName or " noSlot" ][group ]
15611564 for _ , value in ipairs (env .modDB :List (groupCfg , " GroupProperty" )) do
0 commit comments