@@ -428,10 +428,15 @@ end
428428
429429function TLM :DiscoverNewLoadouts ()
430430 local classID = self .playerClassID ;
431+ self .db .blizzardLoadouts [classID ] = self .db .blizzardLoadouts [classID ] or {};
432+ local classLoadouts = self .db .blizzardLoadouts [classID ];
431433 for index = 1 , GetNumSpecializations () do
434+ --- @type number
432435 local specID = C_SpecializationInfo .GetSpecializationInfo (index );
436+ classLoadouts [specID ] = classLoadouts [specID ] or {};
437+ classLoadouts [specID ][self .playerName ] = classLoadouts [specID ][self .playerName ] or {};
433438 for _ , configID in pairs (C_ClassTalents .GetConfigIDsBySpecID (specID )) do
434- if not self . db . blizzardLoadouts [ classID ] [specID ][self .playerName ][configID ] then
439+ if not classLoadouts [specID ][self .playerName ][configID ] then
435440 self :UpdateBlizzardLoadout (configID );
436441 end
437442 end
@@ -444,8 +449,9 @@ function TLM:UpdateBlizzardLoadout(configID, specID)
444449 if not specID then return ; end
445450
446451 self .db .blizzardLoadouts [classID ] = self .db .blizzardLoadouts [classID ] or {};
447- self .db .blizzardLoadouts [classID ][specID ] = self .db .blizzardLoadouts [classID ][specID ] or {};
448- self .db .blizzardLoadouts [classID ][specID ][self .playerName ] = self .db .blizzardLoadouts [classID ][specID ][self .playerName ] or {};
452+ local classLoadouts = self .db .blizzardLoadouts [classID ];
453+ classLoadouts [specID ] = classLoadouts [specID ] or {};
454+ classLoadouts [specID ][self .playerName ] = classLoadouts [specID ][self .playerName ] or {};
449455
450456 local configInfo = C_Traits .GetConfigInfo (configID );
451457 if not configInfo or configInfo .type ~= Enum .TraitConfigType .Combat then return ; end
0 commit comments