Skip to content

Commit 46ef024

Browse files
committed
Fixed an issue with a rogue talent, and potentially some others
1 parent 3e42428 commit 46ef024

File tree

2 files changed

+9
-27
lines changed

2 files changed

+9
-27
lines changed

TalentTreeViewer/TalentViewer.lua

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ local ns = select(2, ...)
44

55
if LE_EXPANSION_LEVEL_CURRENT <= LE_EXPANSION_SHADOWLANDS then print(name, 'requires Dragonflight to work') return end
66

7-
ns.starterBuildID = Constants.TraitConsts.STARTER_BUILD_TRAIT_CONFIG_ID
87
ns.MAX_LEVEL_CLASS_CURRENCY_CAP = 31
98
ns.MAX_LEVEL_SPEC_CURRENCY_CAP = 30
109
ns.TOTAL_CURRENCY_CAP = ns.MAX_LEVEL_CLASS_CURRENCY_CAP + ns.MAX_LEVEL_SPEC_CURRENCY_CAP
@@ -34,9 +33,9 @@ local cache = {
3433
specIconId = {},
3534
}
3635
TalentViewer.cache = cache
37-
---@type LibTalentTree
36+
---@type LibTalentTree-1.0
3837
local LibTalentTree = LibStub('LibTalentTree-1.0')
39-
--- @type LibUIDropDownMenuNumy
38+
--- @type LibUIDropDownMenuNumy-4.0
4039
local LibDD = LibStub("LibUIDropDownMenuNumy-4.0")
4140

4241
local L = LibStub('AceLocale-3.0'):GetLocale(name)
@@ -277,16 +276,6 @@ function TalentViewer:SelectSpec(classId, specId)
277276
))
278277

279278
self:ResetTree();
280-
-- starter builds are not really correct yet :/
281-
--self:ApplyLevelingBuild(ns.starterBuildID);
282-
--self:SetStarterBuildActive(false);
283-
--local totalCurrencySpent = 0
284-
--for _, currencySpent in pairs(self.currencySpending) do
285-
-- totalCurrencySpent = totalCurrencySpent + currencySpent;
286-
--end
287-
--if totalCurrencySpent < ns.TOTAL_CURRENCY_CAP then
288-
-- self:ResetTree();
289-
--end
290279
end
291280

292281
function TalentViewer:SetPortraitIcon(specId)
@@ -408,10 +397,6 @@ function TalentViewer:GetLevelingBuild(buildID)
408397
return; -- TODO
409398
end
410399

411-
function TalentViewer:SetStarterBuildActive(active)
412-
self:GetTalentFrame():SetLevelingBuildID(active and ns.starterBuildID or nil)
413-
end
414-
415400
function TalentViewer:ApplyLevelingBuild(buildID, level)
416401
self:GetTalentFrame():SetLevelingBuildID(buildID)
417402
self:GetTalentFrame():ApplyLevelingBuild(level)

TalentTreeViewer/TalentViewerUIMixin.lua

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if not TalentViewer then return end
77
--- @type TalentViewer_Cache
88
local tvCache = TalentViewer.cache
99

10-
---@type LibTalentTree
10+
---@type LibTalentTree-1.0
1111
local LibTalentTree = LibStub('LibTalentTree-1.0')
1212

1313
local L = LibStub('AceLocale-3.0'):GetLocale(name)
@@ -96,6 +96,7 @@ local parentMixin = ClassTalentTalentsTabMixin
9696
--- @class TalentViewerUIMixin
9797
TalentViewer_ClassTalentTalentsTabMixin = deepCopy(parentMixin)
9898

99+
--- @class TalentViewerUIMixin
99100
local TalentViewerUIMixin = TalentViewer_ClassTalentTalentsTabMixin
100101
local function removeFromMixin(method) TalentViewerUIMixin[method] = function() end end
101102
removeFromMixin('UpdateConfigButtonsState')
@@ -203,10 +204,13 @@ function TalentViewerUIMixin:MeetsEdgeRequirements(nodeID)
203204
return GetOrCreateTableEntryByCallback(self.edgeRequirementsCache, nodeID, EdgeRequirementCallback)
204205
end
205206

207+
--- @return TVNodeInfo
206208
function TalentViewerUIMixin:GetAndCacheNodeInfo(nodeID)
207209
local function GetNodeInfoCallback(nodeID)
210+
--- @class TVNodeInfo: libNodeInfo
208211
local nodeInfo = LibTalentTree:GetLibNodeInfo(TalentViewer.treeId, nodeID)
209212
if not nodeInfo then
213+
--- @class TVNodeInfo: libNodeInfo
210214
nodeInfo = LibTalentTree:GetNodeInfo(TalentViewer.treeId, nodeID)
211215
if DevTool and DevTool.AddData then
212216
DevTool:AddData(
@@ -254,7 +258,7 @@ function TalentViewerUIMixin:GetAndCacheNodeInfo(nodeID)
254258
edge.isActive = nodeInfo.activeRank == nodeInfo.maxRanks
255259
end
256260

257-
if #nodeInfo.entryIDs > 1 then
261+
if nodeInfo.type == Enum.TraitNodeType.Selection then
258262
local entryIndex
259263
for i, entryId in ipairs(nodeInfo.entryIDs) do
260264
if entryId == selectedEntryId then
@@ -303,7 +307,7 @@ end
303307

304308
function TalentViewerUIMixin:GetAndCacheEntryInfo(entryID)
305309
local function GetEntryInfoCallback(entryID)
306-
local entryInfo = LibTalentTree:GetEntryInfo(self:GetTalentTreeID(), entryID);
310+
local entryInfo = LibTalentTree:GetEntryInfo(entryID);
307311
if entryInfo then
308312
entryInfo.entryCost = {};
309313
else
@@ -682,9 +686,6 @@ function TalentViewerUIMixin:UpdateLevelingBuildHighlights()
682686
end
683687

684688
function TalentViewerUIMixin:GetLevelingBuildInfo(buildID)
685-
if buildID == ns.starterBuildID then
686-
return nil; -- Starter build info is not available
687-
end
688689
return TalentViewer:GetLevelingBuild(buildID);
689690
end
690691

@@ -700,10 +701,6 @@ function TalentViewerUIMixin:GetNextLevelingBuildPurchase(buildID)
700701
end
701702
end
702703

703-
function TalentViewerUIMixin:GetHasStarterBuild()
704-
return false;
705-
end
706-
707704
function TalentViewerUIMixin:IsLevelingBuildActive()
708705
return self.activeLevelingBuildID ~= nil;
709706
end

0 commit comments

Comments
 (0)