@@ -1039,26 +1039,25 @@ end
10391039--- @return string
10401040function ImportTabClass :ImportPassiveTreeAndJewels (charData )
10411041 local charPassives = charData .passives
1042- -- 3.16+
1043- local mastery , effect = 0 , 0
1042+
1043+ -- fix table keys being strings
1044+ local masteries = {}
10441045 for key , value in pairs (charPassives .mastery_effects ) do
1045- if type (value ) ~= " string" then
1046- break
1047- end
1048- mastery = band (tonumber (value ), 65535 )
1049- effect = b_rshift (tonumber (value ), 16 )
1050- t_insert (charPassives .mastery_effects , mastery , effect )
1046+ masteries [tonumber (key )] = value
10511047 end
1052-
1053- for nodeId , override in pairs (charData .passives .skill_overrides ) do
1048+ self .build .spec .jewel_data = {}
1049+ for key , value in pairs (charPassives .jewel_data ) do
1050+ self .build .spec .jewel_data [tonumber (key )] = value
1051+ end
1052+ local skillOverrides = {}
1053+ for nodeId , override in pairs (charPassives .skill_overrides ) do
1054+ -- json keys are strings, not numbers
1055+ local nodeIdNum = tonumber (nodeId )
10541056 self .build .spec :ReplaceNode (override , self .build .spec .tree .tattoo .nodes [override .name ])
1055- override .id = nodeId
1057+ override .id = nodeIdNum
1058+ skillOverrides [nodeIdNum ] = override
10561059 end
10571060
1058- if errMsg then
1059- return colorCodes .NEGATIVE .. " Error processing character data, try again later."
1060- end
1061- self .build .spec .jewel_data = copyTable (charPassives .jewel_data )
10621061 self .build .spec .extended_hashes = copyTable (charPassives .hashes_ex )
10631062 if self .controls .charImportTreeClearJewels .state then
10641063 for _ , slot in pairs (self .build .itemsTab .slots ) do
@@ -1095,9 +1094,9 @@ function ImportTabClass:ImportPassiveTreeAndJewels(charData)
10951094 nil ,
10961095 alternateAscendancyId ,
10971096 charPassives .hashes ,
1098- charPassives . skill_overrides ,
1099- charPassives . mastery_effects or {} ,
1100- latestTreeVersion .. (charData .league :match (" Ruthless" ) and " _ruthless" or " " )
1097+ skillOverrides ,
1098+ masteries ,
1099+ latestTreeVersion .. (charData .league :match (" Ruthless" ) and " _ruthless" or " " )
11011100 )
11021101 self .build .treeTab :SetActiveSpec (self .build .treeTab .activeSpec )
11031102 self .build .spec :BuildClusterJewelGraphs ()
0 commit comments