View Single Post
09-21-22, 10:42 AM   #8
doofus
A Chromatic Dragonspawn
Join Date: Feb 2018
Posts: 159
I have used the traits functions and it works (to tell me what traits you have and at what rank)

Basically you go:

Code:
  local lConfigID = C_ClassTalents.GetActiveConfigID();
  local lConfigInfo = C_Traits.GetConfigInfo(lConfigID);
  local lTreeIDs = lConfigInfo["treeIDs"];
  for i = 1, #lTreeIDs do
    for _, lNodeID in pairs(C_Traits.GetTreeNodes(lTreeIDs[i])) do
      local lNodeInfo = C_Traits.GetNodeInfo(lConfigID, lNodeID);
      local activeEntry = lNodeInfo.activeEntry;
      local activeRank = lNodeInfo.activeRank;
      if ( activeEntry and activeRank > 0 ) then
        local activeEntryID = activeEntry.entryID;
        local lEntryInfo = C_Traits.GetEntryInfo(lConfigID,activeEntryID);
        --if ( lEntryInfo ) then
          local lDefinitionID = lEntryInfo["definitionID"];
          --BA_Data["function LogTextLine"](string.format("def ID:%s",tostring(lDefinitionID)));
          local lDefinitionInfo = C_Traits.GetDefinitionInfo(lDefinitionID);
          --BA_Data["function LogTextLine"](string.format("def info:%s",tostring(lDefinitionInfo)));
          local spellID = lDefinitionInfo["spellID"];
          local spellName = GetSpellInfo(spellID);
          lTalents[spellName] = activeRank;
  Reply With Quote