diff SkeletonKey/ActionTemplates.lua @ 30:b0e4d04d428a

- use a fixed loop to parse GetProfessions() result so unlearned secondaries don't break the cache - removed a bad varaible reference that was causing confirmation popup to barf
author Nenue
date Fri, 05 Aug 2016 19:41:18 -0400
parents 73df13211b22
children daff39af0c6d
line wrap: on
line diff
--- a/SkeletonKey/ActionTemplates.lua	Fri Aug 05 12:25:18 2016 -0400
+++ b/SkeletonKey/ActionTemplates.lua	Fri Aug 05 19:41:18 2016 -0400
@@ -254,38 +254,43 @@
 kb.UpdateProfessionInfo = function()
   wipe(kb.ProfessionCache)
   local profs = {GetProfessions() }
+  print(GetProfessions())
   local primaryNum = 0
-  for i, index in ipairs(profs) do
-    local profName, texture, rank, maxRank, numSpells, spellOffset = GetProfessionInfo(index)
-    print(i, index, profName, numSpells, spellOffset)
-    if not SECONDARY_PROFESSIONS[index] then
-      primaryNum = primaryNum + 1
-    end
-    local profNum = SECONDARY_PROFESSIONS[index] or primaryNum
+  for i = 1, 6 do
+    if profs[i] then
+      local index = profs[i]
+      local profName, texture, _, _, numSpells, spellOffset = GetProfessionInfo(index)
+      print(i, index, profName, numSpells, spellOffset)
+      if not SECONDARY_PROFESSIONS[index] then
+        primaryNum = primaryNum + 1
+      end
+      local profNum = SECONDARY_PROFESSIONS[index] or primaryNum
+      print(i, profNum)
 
 
-    kb.ProfessionCache[profNum] = kb.ProfessionCache[i] or {}
+      kb.ProfessionCache[profNum] = kb.ProfessionCache[profNum] or {}
 
-    for j = 1, numSpells do
-      local spellName, _, icon, _, _, _, spellID = GetSpellInfo(spellOffset+j, BOOKTYPE_PROFESSION)
+      for j = 1, numSpells do
+        local spellName, _, icon, _, _, _, spellID = GetSpellInfo(spellOffset+j, BOOKTYPE_PROFESSION)
 
-      local profInfo = {
-        spellName = spellName,
-        spellID = spellID,
-        icon = icon,
-        profOffset = i,
-        profIndex = index,
-        spellOffset = (spellOffset+j),
-        spellNum = j
-      }
+        local profInfo = {
+          spellName = spellName,
+          spellID = spellID,
+          icon = icon,
+          profOffset = i,
+          profIndex = index,
+          spellOffset = (spellOffset+j),
+          spellNum = j
+        }
 
-      kb.SecureAttribute(KeyBinderKey, "*type-profession_"..i .. '_' ..j, "spell")
-      kb.SecureAttribute(KeyBinderKey, "*spell-profession_"..i .. '_' ..j, spellName)
+        kb.SecureAttribute(KeyBinderKey, "*type-profession_"..i .. '_' ..j, "spell")
+        kb.SecureAttribute(KeyBinderKey, "*spell-profession_"..i .. '_' ..j, spellName)
 
-      kb.ProfessionCache[i .. '_' .. j] = profInfo
-      kb.ProfessionCache[spellName] = profInfo
-      kb.ProfessionCache[spellID] = profInfo
-      print('  |cFF0088FF['..i..']|r|cFFFF44BB['..spellOffset+i..']|r', spellName, "profession_"..i .. '_' ..j)
+        kb.ProfessionCache[i .. '_' .. j] = profInfo
+        kb.ProfessionCache[spellName] = profInfo
+        kb.ProfessionCache[spellID] = profInfo
+        print('  |cFF0088FF['..i..']|r|cFFFF44BB['..spellOffset+i..']|r', spellName, "profession_"..i .. '_' ..j)
+      end
     end
 
   end