@@ -508,6 +508,11 @@ function CalcsTabClass:PowerBuilder()
508508 return effectNode
509509 end
510510
511+ local function masteryEffectCanBeAssignedToNode (node , masteryEffect )
512+ local assignedNodeId = isValueInTable (self .build .spec .masterySelections , masteryEffect .effect )
513+ return not assignedNodeId or assignedNodeId == node .id
514+ end
515+
511516 local function calculateAddNodePower (power , node , output , buildPathNodes )
512517 if self .powerStat and self .powerStat .stat and not self .powerStat .ignoreForNodes then
513518 power .singleStat = self :CalculatePowerStat (self .powerStat , output , calcBase )
@@ -544,8 +549,7 @@ function CalcsTabClass:PowerBuilder()
544549 if not (self .nodePowerMaxDepth and self .nodePowerMaxDepth < node .pathDist ) then
545550 t_insert (masteryNodeList , node )
546551 for _ , masteryEffect in ipairs (node .masteryEffects or { }) do
547- local assignedNodeId = isValueInTable (self .build .spec .masterySelections , masteryEffect .effect )
548- if not assignedNodeId or assignedNodeId == node .id then
552+ if masteryEffectCanBeAssignedToNode (node , masteryEffect ) then
549553 total = total + 1
550554 end
551555 end
@@ -632,8 +636,7 @@ function CalcsTabClass:PowerBuilder()
632636
633637 for _ , node in ipairs (masteryNodeList ) do
634638 for _ , masteryEffect in ipairs (node .masteryEffects or { }) do
635- local assignedNodeId = isValueInTable (self .build .spec .masterySelections , masteryEffect .effect )
636- if not assignedNodeId or assignedNodeId == node .id then
639+ if masteryEffectCanBeAssignedToNode (node , masteryEffect ) then
637640 local effect = self .build .spec .tree .masteryEffects [masteryEffect .effect ]
638641 if effect then
639642 local effectNode = buildMasteryEffectNode (node , effect )
0 commit comments