diff --git a/Interface/AddOns/BtWLoadouts/ActionBars.lua b/Interface/AddOns/BtWLoadouts/ActionBars.lua index 1a01b89a6..fb5f6503f 100644 --- a/Interface/AddOns/BtWLoadouts/ActionBars.lua +++ b/Interface/AddOns/BtWLoadouts/ActionBars.lua @@ -532,7 +532,7 @@ local function PickupActionTable(tbl, test, settings, activating) end end elseif tbl.subType == "spell" then - if IsSpellKnown(tbl.id, false) then + if IsSpellKnown(tbl.id, false) or IsPlayerSpell(tbl.id) then success = true if not test then PickupSpell(tbl.id) diff --git a/Interface/AddOns/BtWLoadouts/BtWLoadouts.toc b/Interface/AddOns/BtWLoadouts/BtWLoadouts.toc index 487c80a2a..cb9a5a52a 100644 --- a/Interface/AddOns/BtWLoadouts/BtWLoadouts.toc +++ b/Interface/AddOns/BtWLoadouts/BtWLoadouts.toc @@ -1,6 +1,6 @@ ## Interface: 100000 ## Title: BtWLoadouts -## Version: v1.8.6 +## Version: v1.8.7 ## Notes: Change your characters spec, talents, equipment, essences, and action bars all at once ## Author: Breen ## SavedVariables: BtWLoadoutsSets, BtWLoadoutsSpecInfo, BtWLoadoutsRoleInfo, BtWLoadoutsEssenceInfo, BtWLoadoutsCharacterInfo, BtWLoadoutsHelpTipFlags, BtWLoadoutsSettings, BtWLoadoutsTraitsInfo diff --git a/Interface/AddOns/BtWLoadouts/CHANGELOG.md b/Interface/AddOns/BtWLoadouts/CHANGELOG.md index 6e7b57e02..d07d0ba04 100644 --- a/Interface/AddOns/BtWLoadouts/CHANGELOG.md +++ b/Interface/AddOns/BtWLoadouts/CHANGELOG.md @@ -1,3 +1,9 @@ +# v1.8.7 + +- Fixed a bug where the Blizzard talent tree may not always update correctly after activating a talent set +- Fixed treating some spells as unknown even though they are available +- Fixed error updating equipement manager sets when an item link is unavailable + # v1.8.6 - Fixed some errors reading talent trees for some specs diff --git a/Interface/AddOns/BtWLoadouts/DFTalents.lua b/Interface/AddOns/BtWLoadouts/DFTalents.lua index c0796760c..10d86cb30 100644 --- a/Interface/AddOns/BtWLoadouts/DFTalents.lua +++ b/Interface/AddOns/BtWLoadouts/DFTalents.lua @@ -341,9 +341,10 @@ local function ActivateSet(set, state) end if complete then - C_ClassTalents.UpdateLastSelectedSavedConfigID(260, nil) -- Set active loadout to "Default Loadout" + local specID = GetSpecializationInfo(GetSpecialization()); + C_ClassTalents.UpdateLastSelectedSavedConfigID(specID, nil) -- Set active loadout to "Default Loadout" if ClassTalentFrame then - ClassTalentFrame.TalentsTab.LoadoutDropDown:ClearSelection() -- Make the loadout dropdown show "Default Loadout" if its already loaded + ClassTalentFrame.TalentsTab:ClearLastSelectedConfigID(); ClassTalentFrame.TalentsTab:MarkTreeDirty(); end end diff --git a/Interface/AddOns/BtWLoadouts/Events.lua b/Interface/AddOns/BtWLoadouts/Events.lua index 607deeefa..f7646236f 100644 --- a/Interface/AddOns/BtWLoadouts/Events.lua +++ b/Interface/AddOns/BtWLoadouts/Events.lua @@ -454,9 +454,12 @@ function frame:EQUIPMENT_SETS_CHANGED(...) local previousLocation = set.locations[inventorySlotId] set.locations[inventorySlotId] = locations[inventorySlotId] -- Only update if the item has a location - set.equipment[inventorySlotId] = Internal.GetItemLinkByLocation(location) - set.extras[inventorySlotId] = Internal.GetExtrasForLocation(location, set.extras[inventorySlotId] or {}) - set.data[inventorySlotId] = Internal.EncodeItemData(set.equipment[inventorySlotId], set.extras[inventorySlotId] and set.extras[inventorySlotId].azerite) + local itemLink = Internal.GetItemLinkByLocation(location) + if itemLink then + set.equipment[inventorySlotId] = itemLink + set.extras[inventorySlotId] = Internal.GetExtrasForLocation(location, set.extras[inventorySlotId] or {}) + set.data[inventorySlotId] = Internal.EncodeItemData(itemLink, set.extras[inventorySlotId] and set.extras[inventorySlotId].azerite) + end if not isNewSet then -- We force update because the blizzard manager should be correct diff --git a/Interface/AddOns/ElvUI/Classic/Libs.xml b/Interface/AddOns/ElvUI/Classic/Libs.xml index 5327cd70e..913f95842 100644 --- a/Interface/AddOns/ElvUI/Classic/Libs.xml +++ b/Interface/AddOns/ElvUI/Classic/Libs.xml @@ -18,9 +18,9 @@ - -