Advertisement
tok124

talentaddon

Oct 24th, 2017
116
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local run = false
  2. local tabid = 1
  3. local talentid = 1
  4. local learned = false
  5.  
  6. local GetFreeTalentPoints = GetUnspentTalentPoints or GetNumUnspentTalents
  7.  
  8. assert(GetFreeTalentPoints, "No function set for getting unspent talents!")
  9.  
  10. local function ONUPDATE(self, diff)
  11.     if (not run) then
  12.         return
  13.     end
  14.    
  15.     if(GetFreeTalentPoints() >= 1) then
  16.         if (tabid <= 3) then
  17.             while (talentid <= GetNumTalents(tabid)) do
  18.                 local _, _, tier, column, currentRank, maxRank, _, _ = GetTalentInfo(tabid, talentid)
  19.                 if (currentRank < maxRank) then
  20.                     LearnTalent(tabid, talentid)
  21.                     learned = true
  22.                 end
  23.                 talentid = talentid + 1
  24.                 if (talentid <= GetNumTalents(tabid)) then
  25.                     local _, _, nexttier, nextcolumn, nextcurrentRank, nextmaxRank, _, _ = GetTalentInfo(tabid, talentid)
  26.                     if (learned and tier < nexttier) then
  27.                         talentid = talentid - column
  28.                         learned = false
  29.                         return
  30.                     end
  31.                 else
  32.                     if (learned) then
  33.                         talentid = talentid - column
  34.                         learned = false
  35.                         return
  36.                     end
  37.                 end
  38.                 if (learned) then
  39.                     return
  40.                 end
  41.             end
  42.             tabid = tabid + 1
  43.             talentid = 1
  44.             learned = false
  45.             return
  46.         end
  47.     end
  48.    
  49.     run = false
  50.     tabid = 1
  51.     talentid = 1
  52.     runid = 1
  53. end
  54.  
  55. local timer = CreateFrame("Frame")
  56. timer:SetScript("OnUpdate", ONUPDATE)
  57.  
  58. local function StartRunning(self)
  59.     run = true
  60. end
  61.  
  62. assert(LoadAddOn("Blizzard_TalentUI"))
  63. local Button = CreateFrame("Button", "Learn 255 Talents", PlayerTalentFrame, "UIPanelButtonTemplate")
  64. Button:SetPoint("TOP", PlayerTalentFrame, "TOP", 0, -40)
  65. Button:SetText("Learn all talents")
  66. Button:SetSize(120, 25)
  67. Button:SetScript("OnMouseUp", StartRunning)
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement