contrebasse@0: local addonName, A = ... contrebasse@0: contrebasse@41: -- @todo: complete jewelcrafting items contrebasse@41: contrebasse@15: local MillID = 51005 contrebasse@15: local macroMill = "/cast "..GetSpellInfo(MillID).."\n/use " contrebasse@31: local MillLink = GetSpellLink(MillID) contrebasse@31: MillID = nil contrebasse@15: local ProspectID = 31252 contrebasse@15: local macroProspect = "/cast "..GetSpellInfo(ProspectID).."\n/use " contrebasse@31: local ProspectLink = GetSpellLink(ProspectID) contrebasse@31: ProspectID = nil contrebasse@0: A.data = { contrebasse@0: -- Mill contrebasse@11: -- Normal pigments contrebasse@0: [39151] = { -- Alabaster Pigment contrebasse@3: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {2447,5,2,3}, -- Peacebloom contrebasse@11: { 765,5,2,3}, -- Silverleaf contrebasse@11: {2449,5,2,4}}, -- Earthroot contrebasse@20: [39334] = { -- Dusky Pigment contrebasse@3: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: { 785,5,2,3}, -- Mageroyal contrebasse@11: {2450,5,2,3}, -- Briarthorn contrebasse@11: {2452,5,2,3}, -- Swiftthistle contrebasse@11: {2453,5,2,4}, -- Bruiseweed contrebasse@11: {3820,5,2,4}}, -- Stranglekelp contrebasse@0: [39338] = { -- Golden Pigment contrebasse@3: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {3369,5,2,3}, -- Grave Moss contrebasse@11: {3355,5,2,3}, -- Wild Steelbloom contrebasse@11: {3356,5,2,4}, -- Kingsblood contrebasse@11: {3357,5,2,4}}, -- Liferoot contrebasse@0: [39339] = { -- Emerald Pigment contrebasse@3: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {3818,5,2,3}, -- Fadeleaf contrebasse@11: {3821,5,2,3}, -- Goldthorn contrebasse@11: {3358,5,3,4}, -- Khadgar's Whisker contrebasse@11: {3819,5,3,4}}, -- Dragon's Teeth contrebasse@0: [39340] = { -- Violet Pigment contrebasse@3: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {4625,5,2,3}, -- Firebloom contrebasse@11: {8831,5,2,3}, -- Purple Lotus contrebasse@11: {8836,5,2,3}, -- Arthas' Tears contrebasse@11: {8838,5,2,3}, -- Sungrass contrebasse@11: {8839,5,2,4}, -- Blindweed contrebasse@11: {8845,5,2,4}, -- Ghost Mushroom contrebasse@11: {8846,5,2,4}}, -- Gromsblood contrebasse@0: [39341] = { -- Silvery Pigment contrebasse@3: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {13464,5,2,3}, -- Golden Sansam contrebasse@11: {13463,5,2,3}, -- Dreamfoil contrebasse@11: {13465,5,2,4}, -- Mountain Silversage contrebasse@11: {13466,5,2,4}, -- Sorrowmoss contrebasse@11: {13467,5,2,4}}, -- Icecap contrebasse@0: [39342] = { -- Nether Pigment contrebasse@3: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {22786,5,2,3}, -- Dreaming Glory contrebasse@11: {22785,5,2,3}, -- Felweed contrebasse@11: {22789,5,2,3}, -- Terocone contrebasse@11: {22787,5,2,3}, -- Ragveil contrebasse@11: {22790,5,2,4}, -- Ancient Lichen contrebasse@11: {22793,5,2,4}, -- Mana Thistle contrebasse@11: {22791,5,2,4}, -- Netherbloom contrebasse@11: {22792,5,2,4}}, -- Nightmare Vine contrebasse@0: [39343] = { -- Azure Pigment contrebasse@31: spellLink = MillLink, contrebasse@3: spell = macroMill, contrebasse@11: {37921,5,2,3}, -- Deadnettle contrebasse@11: {36901,5,2,3}, -- Goldclover contrebasse@11: {36907,5,2,3}, -- Talandra's Rose contrebasse@11: {36904,5,2,3}, -- Tiger Lily contrebasse@11: {39970,5,2,3}, -- Fire Leaf contrebasse@11: {39969,5,2.5,3}, -- Fire Seed (2:33%/3:67%) contrebasse@11: {36903,5,2,4}, -- Adder's Tongue contrebasse@11: {36906,5,2,4}, -- Icethorn contrebasse@11: {36905,5,2,4}}, -- Lichbloom contrebasse@0: [61979] = { -- Ashen Pigment contrebasse@3: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {52983,5,2,3}, -- Cinderbloom contrebasse@11: {52985,5,2,3}, -- Azshara's Veil contrebasse@11: {52984,5,2,3}, -- Stormvine contrebasse@11: {52986,5,2,3}, -- Heartblossom contrebasse@11: {52988,5,2,4}, -- Whiptail contrebasse@11: {52987,5,2,4}}, -- Twilight Jasmine contrebasse@11: -- Rare pigments contrebasse@11: [43103] = { -- Verdant Pigment contrebasse@11: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {785,5,0.25}, -- Mageroyal contrebasse@11: {2450,5,0.25}, -- Briarthorn contrebasse@11: {2452,5,0.25}, -- Swiftthistle contrebasse@11: {2453,5,0.5}, -- Bruiseweed contrebasse@11: {3820,5,0.5}}, -- Stranglekelp contrebasse@11: [43104] = { -- Burnt Pigment contrebasse@11: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {3369,5,0.25}, -- Grave Moss contrebasse@11: {3355,5,0.25}, -- Wild Steelbloom contrebasse@11: {3356,5,0.5}, -- Kingsblood contrebasse@11: {3357,5,0.5}}, -- Liferoot contrebasse@11: [43105] = { -- Indigo Pigment contrebasse@11: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {3818,5,0.25}, -- Fadeleaf contrebasse@11: {3821,5,0.25}, -- Goldthorn contrebasse@11: {3358,5,0.5}, -- Khadgar's Whisker contrebasse@11: {3819,5,0.5}}, -- Dragon's Teeth contrebasse@11: [43106] = { -- Ruby Pigment contrebasse@11: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {4625,5,0.25}, -- Firebloom contrebasse@11: {8831,5,0.25}, -- Purple Lotus contrebasse@11: {8836,5,0.25}, -- Arthas' Tears contrebasse@11: {8838,5,0.25}, -- Sungrass contrebasse@11: {8839,5,0.5}, -- Blindweed contrebasse@11: {8845,5,0.5}, -- Ghost Mushroom contrebasse@11: {8846,5,0.5}}, -- Gromsblood contrebasse@11: [43107] = { -- Sapphire Pigment contrebasse@11: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {13464,5,0.25}, -- Golden Sansam contrebasse@11: {13463,5,0.25}, -- Dreamfoil contrebasse@11: {13465,5,0.5}, -- Mountain Silversage contrebasse@11: {13466,5,0.5}, -- Sorrowmoss contrebasse@11: {13467,5,0.5}}, -- Icecap contrebasse@11: [43108] = { -- Ebon Pigment contrebasse@11: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {22786,5,0.25}, -- Dreaming Glory contrebasse@11: {22785,5,0.25}, -- Felweed contrebasse@11: {22789,5,0.25}, -- Terocone contrebasse@11: {22787,5,0.25}, -- Ragveil contrebasse@11: {22790,5,0.5}, -- Ancient Lichen contrebasse@11: {22793,5,0.5}, -- Mana Thistle contrebasse@11: {22791,5,0.5}, -- Netherbloom contrebasse@11: {22792,5,0.5}}, -- Nightmare Vine contrebasse@11: [43109] = { -- Icy Pigment contrebasse@31: spellLink = MillLink, contrebasse@11: spell = macroMill, contrebasse@11: {37921,5,0.25}, -- Deadnettle contrebasse@11: {36901,5,0.25}, -- Goldclover contrebasse@11: {36907,5,0.25}, -- Talandra's Rose contrebasse@11: {36904,5,0.25}, -- Tiger Lily contrebasse@11: {39970,5,0.25}, -- Fire Leaf contrebasse@11: {39969,5,0.25}, -- Fire Seed contrebasse@11: {36903,5,0.5}, -- Adder's Tongue contrebasse@11: {36906,5,0.5}, -- Icethorn contrebasse@11: {36905,5,0.5}}, -- Lichbloom contrebasse@11: [61980] = { -- Burning Embers contrebasse@11: spell = macroMill, contrebasse@31: spellLink = MillLink, contrebasse@11: {52983,5,0.25}, -- Cinderbloom contrebasse@11: {52985,5,0.25}, -- Azshara's Veil contrebasse@11: {52984,5,0.25}, -- Stormvine contrebasse@11: {52986,5,0.25}, -- Heartblossom contrebasse@11: {52988,5,0.5}, -- Whiptail contrebasse@11: {52987,5,0.5}}, -- Twilight Jasmine contrebasse@0: contrebasse@8: -- Prospect contrebasse@8: [774] = { -- Malachite contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {2770,5,0.5}}, -- Copper Ore contrebasse@8: [818] = { -- Tigerseye contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {2770,5,0.5}}, -- Copper Ore contrebasse@8: [1210] = { -- Shadowgem contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@11: {2771,50,0.38}, -- Tin Ore contrebasse@8: {2770,5,0.1}}, -- Copper Ore contrebasse@8: [1705] = { -- Lesser Moonstone contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {2771,5,0.38}, -- Tin Ore contrebasse@8: {2772,5,0.35}}, -- Iron Ore contrebasse@8: [1206] = { -- Moss Agate contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {2771,5,0.37}}, -- Tin Ore contrebasse@8: [1529] = { -- Jade contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {2772,5,0.35}, -- Iron Ore contrebasse@8: {2771,5,0.03}}, -- Tin Ore contrebasse@8: [7909] = { -- Aquamarine contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {3858,5,0.35}, -- Mithril Ore contrebasse@8: {2772,5,0.05}, -- Iron Ore contrebasse@8: {2771,5,0.03}}, -- Tin Ore contrebasse@8: [3864] = { -- Citrine contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {2772,5,0.36}, -- Iron Ore contrebasse@8: {3858,5,0.35}, -- Mithril Ore contrebasse@8: {2771,5,0.03}}, -- Tin Ore contrebasse@8: [7910] = { -- Star Ruby contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {3858,5,0.36}, -- Mithril Ore contrebasse@8: {10620,5,0.15}, -- Thorium Ore contrebasse@8: {2772,5,0.05}}, -- Iron Ore contrebasse@8: [12799] = { -- Large Opal contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {10620,5,0.31}, -- Thorium Ore contrebasse@8: {3858,5,0.03}}, -- Mithril Ore contrebasse@8: [12361] = { -- Blue Sapphire contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {10620,5,0.31}, -- Thorium Ore contrebasse@8: {3858,5,0.02}}, -- Mithril Ore contrebasse@8: [12800] = { -- Azerothian Diamond contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {10620,5,0.31}, -- Thorium Ore contrebasse@8: {3858,5,0.02}}, -- Mithril Ore contrebasse@8: [12364] = { -- Huge Emerald contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {10620,5,0.31}, -- Thorium Ore contrebasse@8: {3858,5,0.02}}, -- Mithril Ore contrebasse@8: [23112] = { -- Golden Draenite contrebasse@9: spell = macroProspect, contrebasse@31: spellLink = ProspectLink, contrebasse@8: {23424,5,0.19}, -- Fel Iron Ore contrebasse@8: {23425,5,0.18}}, -- Adamantite Ore contrebasse@8: -- To be continued... contrebasse@8: contrebasse@8: contrebasse@3: -- To add : enchants, elementals, prospecting contrebasse@0: } contrebasse@0: contrebasse@0: -- @todo improve scanning contrebasse@0: -- @todo rescan when a new refipe appears (TRADESKILL_UPDATE ?) contrebasse@0: -- @todo be sure that skillName is unique, or use something else contrebasse@0: -- @todo add support for multi-reagents recipes contrebasse@15: do contrebasse@15: -- lua functions contrebasse@15: local print = print contrebasse@15: local ipairs = ipairs contrebasse@15: local tinsert = tinsert contrebasse@0: contrebasse@15: -- Wow functions contrebasse@15: local GetNumTradeSkills = GetNumTradeSkills contrebasse@15: local GetTradeSkillInfo = GetTradeSkillInfo contrebasse@15: local GetTradeSkillNumReagents = GetTradeSkillNumReagents contrebasse@15: local GetTradeSkillItemLink = GetTradeSkillItemLink contrebasse@15: local GetTradeSkillReagentItemLink = GetTradeSkillReagentItemLink contrebasse@15: local GetTradeSkillReagentInfo = GetTradeSkillReagentInfo contrebasse@15: local GetTradeSkillNumMade = GetTradeSkillNumMade contrebasse@0: contrebasse@15: -- the function who scans the tradeskill contrebasse@15: function A:ScanSimpleRecipes() contrebasse@26: -- Check if the tradeskill is loaded contrebasse@26: -- Has to have recipes and begin with a header contrebasse@26: local NRecipes = GetNumTradeSkills() contrebasse@26: if NRecipes==0 or select(2,GetTradeSkillInfo(1))~="header" then contrebasse@26: return contrebasse@26: end contrebasse@26: contrebasse@26: for i = 2,NRecipes do -- The first one is a header contrebasse@15: local skillName, skillType, numAvailable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(i) contrebasse@15: if skillType ~= "header" then contrebasse@36: --if GetTradeSkillNumReagents(i) == 1 then contrebasse@15: -- item ID contrebasse@15: local itemID = A.link2ID(GetTradeSkillItemLink(i)) contrebasse@0: contrebasse@15: -- reagent ID contrebasse@15: local reagentID = A.link2ID(GetTradeSkillReagentItemLink(i, 1)) contrebasse@14: contrebasse@15: -- reagent number needed contrebasse@15: local reagentName, reagentTexture, reagentCount, playerReagentCount = GetTradeSkillReagentInfo(i, 1) contrebasse@14: contrebasse@15: -- number of reagent created by the recipe contrebasse@15: local minMade, maxMade = GetTradeSkillNumMade(i) contrebasse@30: contrebasse@30: -- recipe link (for tooltips) contrebasse@30: local recipeLink = GetTradeSkillRecipeLink(i) contrebasse@0: contrebasse@15: -- error checking contrebasse@30: if not reagentID or not reagentCount or not skillName or not itemID or not minMade or not maxMade or not recipeLink then contrebasse@30: print("Erreur de scan :",itemID,skillName,reagentID,reagentCount,minMade,maxMade,recipeLink) contrebasse@37: contrebasse@37: else -- Zap incomplete recipes, they will be scanned later contrebasse@37: -- remove unneeded minMade/maxMade contrebasse@37: if maxMade==minMade then contrebasse@37: maxMade = nil contrebasse@37: if minMade==1 then contrebasse@37: minMade = nil contrebasse@37: end -- if contrebasse@37: end -- if contrebasse@15: contrebasse@37: -- skillName or...??? contrebasse@37: -- There's still a problem when multiple recipes craft the same item contrebasse@37: if not A.data[itemID] then contrebasse@37: A.data[itemID] = {} contrebasse@15: end -- if contrebasse@37: local newSpell = true contrebasse@37: for _,v in ipairs(A.data[itemID]) do contrebasse@37: if v.spellName==skillName then contrebasse@37: newSpell = nil contrebasse@37: break contrebasse@37: end -- if contrebasse@37: end -- for contrebasse@37: if newSpell then contrebasse@37: A.data[itemID].spellLink = recipeLink contrebasse@38: A.data[itemID].manyReagents = A.data[itemID].manyReagents or GetTradeSkillNumReagents(i)>1 contrebasse@37: tinsert(A.data[itemID],{reagentID,reagentCount,minMade,maxMade,spellName=skillName}) contrebasse@15: end -- if contrebasse@15: end -- if contrebasse@36: --end -- if contrebasse@0: end -- if contrebasse@15: end -- for contrebasse@26: contrebasse@26: -- the scanning is complete contrebasse@26: return true contrebasse@15: end -- function contrebasse@15: end -- do