| contrebasse@0 | 1 local addonName, A = ... | 
| contrebasse@0 | 2 | 
| contrebasse@3 | 3 -- DEBUG Print | 
| contrebasse@3 | 4 function A.DEBUG(msg) | 
| contrebasse@3 | 5 	DEFAULT_CHAT_FRAME:AddMessage(msg or "nil",1,0,0) | 
| contrebasse@3 | 6 end -- function | 
| contrebasse@0 | 7 | 
| contrebasse@3 | 8 -- Returns the item ID from its link | 
| contrebasse@3 | 9 function A.link2ID(link) | 
| contrebasse@3 | 10 	return tonumber(select(3,string.find(link or "", "-*:(%d+)[:|].*")) or "") | 
| contrebasse@3 | 11 end -- function | 
| contrebasse@3 | 12 | 
| contrebasse@3 | 13 -- Returns the button number for the reagents buttons | 
| contrebasse@3 | 14 function A.buttonNumber(btn) | 
| contrebasse@3 | 15 	-- "TradeSkillReagentN" | 
| contrebasse@3 | 16 	return tonumber(btn:GetName():sub(-1)) | 
| contrebasse@0 | 17 end | 
| contrebasse@0 | 18 | 
| contrebasse@3 | 19 -- Gives the number of craftable objects | 
| contrebasse@3 | 20 function A.numMakable(reagentID) | 
| contrebasse@3 | 21 	-- Look for the recipe to make the item | 
| contrebasse@3 | 22 	local reagentIndex = A.findSkillIndex(reagentID) | 
| contrebasse@3 | 23 	if not reagentIndex then return 0 end | 
| contrebasse@0 | 24 | 
| contrebasse@3 | 25 	-- Check how many items we can craft | 
| contrebasse@3 | 26 	local skillName, skillType, numReagentMakable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(reagentIndex) | 
| contrebasse@3 | 27 	return numReagentMakable or 0, reagentIndex | 
| contrebasse@3 | 28 end | 
| contrebasse@3 | 29 | 
| contrebasse@3 | 30 -- Find the first tradeskill index of the recipe to make an item | 
| contrebasse@3 | 31 function A.findSkillIndex(itemID) | 
| contrebasse@3 | 32 	for i = 1,GetNumTradeSkills() do | 
| contrebasse@3 | 33 		local skillName, skillType, numAvailable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(i) | 
| contrebasse@3 | 34 		if skillType == "header" then | 
| contrebasse@3 | 35 		else | 
| contrebasse@3 | 36 			if skillName then | 
| contrebasse@3 | 37 				local ID = A.link2ID(GetTradeSkillItemLink(i)) | 
| contrebasse@3 | 38 				if ID and ID == itemID then | 
| contrebasse@3 | 39 					return i | 
| contrebasse@3 | 40 				end -- if | 
| contrebasse@3 | 41 			end -- if | 
| contrebasse@3 | 42 		end -- if | 
| contrebasse@3 | 43 	end -- for | 
| contrebasse@3 | 44 	A.DEBUG("Tradeskill not found for "..itemID) | 
| contrebasse@3 | 45 end -- function |