premium banner
Library to help with querying unit talents.

Description

Library to help with querying unit talents. There's many factors using the NotifyInspect() / INSPECT_TALENT_READY combo which will invalidate the results (spammy inspect addons, zoning, roster updates). This library helps by removing that layer of uncertainty and complexity from your addon to give a simple Query/Result to deal with.

Example Usage:

local TalentQuery = LibStub:GetLibrary("LibTalentQuery-1.0")
TalentQuery.RegisterCallback(self, "TalentQuery_Ready")

local raidTalents = {}
...
TalentQuery:Query(unit)
...
function MyAddon:TalentQuery_Ready(e, name, realm, unitid)
	local isnotplayer = not UnitIsUnit(unitid, "player")
	local group = GetActiveTalentGroup(isnotplayer)
	local spec = {}
	for tab = 1, GetNumTalentTabs(isnotplayer) do
		local _, treename, _, _, pointsspent = GetTalentTabInfo(tab, isnotplayer, nil, group)
		tinsert(spec, pointsspent)
	end
	raidTalents[UnitGUID(unitid)] = spec
end