contrebasse@0: local addonName, A = ... contrebasse@0: contrebasse@3: -- DEBUG Print contrebasse@3: function A.DEBUG(msg) contrebasse@3: DEFAULT_CHAT_FRAME:AddMessage(msg or "nil",1,0,0) contrebasse@3: end -- function contrebasse@0: contrebasse@3: -- Returns the item ID from its link contrebasse@3: function A.link2ID(link) contrebasse@3: return tonumber(select(3,string.find(link or "", "-*:(%d+)[:|].*")) or "") contrebasse@3: end -- function contrebasse@3: contrebasse@3: -- Returns the button number for the reagents buttons contrebasse@3: function A.buttonNumber(btn) contrebasse@3: -- "TradeSkillReagentN" contrebasse@3: return tonumber(btn:GetName():sub(-1)) contrebasse@0: end contrebasse@0: contrebasse@3: -- Gives the number of craftable objects contrebasse@3: function A.numMakable(reagentID) contrebasse@3: -- Look for the recipe to make the item contrebasse@3: local reagentIndex = A.findSkillIndex(reagentID) contrebasse@3: if not reagentIndex then return 0 end contrebasse@0: contrebasse@3: -- Check how many items we can craft contrebasse@3: local skillName, skillType, numReagentMakable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(reagentIndex) contrebasse@3: return numReagentMakable or 0, reagentIndex contrebasse@3: end contrebasse@3: contrebasse@3: -- Find the first tradeskill index of the recipe to make an item contrebasse@3: function A.findSkillIndex(itemID) contrebasse@3: for i = 1,GetNumTradeSkills() do contrebasse@3: local skillName, skillType, numAvailable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(i) contrebasse@3: if skillType == "header" then contrebasse@3: else contrebasse@3: if skillName then contrebasse@3: local ID = A.link2ID(GetTradeSkillItemLink(i)) contrebasse@3: if ID and ID == itemID then contrebasse@3: return i contrebasse@3: end -- if contrebasse@3: end -- if contrebasse@3: end -- if contrebasse@3: end -- for contrebasse@3: A.DEBUG("Tradeskill not found for "..itemID) contrebasse@3: end -- function