Skip to content

Commit b7ac002

Browse files
committed
Fixed an error that can occur when resetting saved variables
1 parent 8666347 commit b7ac002

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

core/TalentLoadoutManager.lua

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -428,10 +428,15 @@ end
428428

429429
function 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

Comments
 (0)