| contrebasse@0 | 1 local addonName, A = ... | 
| contrebasse@0 | 2 | 
| contrebasse@3 | 3 MillID = 51005 | 
| contrebasse@8 | 4 macroMill = "/cast "..GetSpellInfo(MillID).."\n/use " | 
| contrebasse@8 | 5 ProspectID = 31252 | 
| contrebasse@8 | 6 macroProspect = "/cast "..GetSpellInfo(ProspectID).."\n/use " | 
| contrebasse@0 | 7 A.data = { | 
| contrebasse@0 | 8 	-- Mill | 
| contrebasse@11 | 9 	-- Normal pigments | 
| contrebasse@0 | 10 	[39151] = { -- Alabaster Pigment | 
| contrebasse@3 | 11 		spell = macroMill, | 
| contrebasse@3 | 12 		spellID = MillID, | 
| contrebasse@11 | 13 		{2447,5,2,3}, -- Peacebloom | 
| contrebasse@11 | 14 		{ 765,5,2,3},  -- Silverleaf | 
| contrebasse@11 | 15 		{2449,5,2,4}}, -- Earthroot | 
| contrebasse@0 | 16 	[39224] = { -- Dusky Pigment | 
| contrebasse@3 | 17 		spell = macroMill, | 
| contrebasse@3 | 18 		spellID = MillID, | 
| contrebasse@11 | 19 		{ 785,5,2,3}, -- Mageroyal | 
| contrebasse@11 | 20 		{2450,5,2,3}, -- Briarthorn | 
| contrebasse@11 | 21 		{2452,5,2,3}, -- Swiftthistle | 
| contrebasse@11 | 22 		{2453,5,2,4}, -- Bruiseweed | 
| contrebasse@11 | 23 		{3820,5,2,4}}, -- Stranglekelp | 
| contrebasse@0 | 24 	[39338] = { -- Golden Pigment | 
| contrebasse@3 | 25 		spell = macroMill, | 
| contrebasse@3 | 26 		spellID = MillID, | 
| contrebasse@11 | 27 		{3369,5,2,3}, -- Grave Moss | 
| contrebasse@11 | 28 		{3355,5,2,3}, -- Wild Steelbloom | 
| contrebasse@11 | 29 		{3356,5,2,4}, -- Kingsblood | 
| contrebasse@11 | 30 		{3357,5,2,4}}, -- Liferoot | 
| contrebasse@0 | 31 	[39339] = { -- Emerald Pigment | 
| contrebasse@3 | 32 		spell = macroMill, | 
| contrebasse@3 | 33 		spellID = MillID, | 
| contrebasse@11 | 34 		{3818,5,2,3}, -- Fadeleaf | 
| contrebasse@11 | 35 		{3821,5,2,3}, -- Goldthorn | 
| contrebasse@11 | 36 		{3358,5,3,4}, -- Khadgar's Whisker | 
| contrebasse@11 | 37 		{3819,5,3,4}}, -- Dragon's Teeth | 
| contrebasse@0 | 38 	[39340] = { -- Violet Pigment | 
| contrebasse@3 | 39 		spell = macroMill, | 
| contrebasse@3 | 40 		spellID = MillID, | 
| contrebasse@11 | 41 		{4625,5,2,3}, -- Firebloom | 
| contrebasse@11 | 42 		{8831,5,2,3}, -- Purple Lotus | 
| contrebasse@11 | 43 		{8836,5,2,3}, -- Arthas' Tears | 
| contrebasse@11 | 44 		{8838,5,2,3}, -- Sungrass | 
| contrebasse@11 | 45 		{8839,5,2,4}, -- Blindweed | 
| contrebasse@11 | 46 		{8845,5,2,4}, -- Ghost Mushroom | 
| contrebasse@11 | 47 		{8846,5,2,4}}, -- Gromsblood | 
| contrebasse@0 | 48 	[39341] = { -- Silvery Pigment | 
| contrebasse@3 | 49 		spell = macroMill, | 
| contrebasse@3 | 50 		spellID = MillID, | 
| contrebasse@11 | 51 		{13464,5,2,3}, -- Golden Sansam | 
| contrebasse@11 | 52 		{13463,5,2,3}, -- Dreamfoil | 
| contrebasse@11 | 53 		{13465,5,2,4}, -- Mountain Silversage | 
| contrebasse@11 | 54 		{13466,5,2,4}, -- Sorrowmoss | 
| contrebasse@11 | 55 		{13467,5,2,4}}, -- Icecap | 
| contrebasse@0 | 56 	[39342] = { -- Nether Pigment | 
| contrebasse@3 | 57 		spell = macroMill, | 
| contrebasse@3 | 58 		spellID = MillID, | 
| contrebasse@11 | 59 		{22786,5,2,3}, -- Dreaming Glory | 
| contrebasse@11 | 60 		{22785,5,2,3}, -- Felweed | 
| contrebasse@11 | 61 		{22789,5,2,3}, -- Terocone | 
| contrebasse@11 | 62 		{22787,5,2,3}, -- Ragveil | 
| contrebasse@11 | 63 		{22790,5,2,4}, -- Ancient Lichen | 
| contrebasse@11 | 64 		{22793,5,2,4}, -- Mana Thistle | 
| contrebasse@11 | 65 		{22791,5,2,4}, -- Netherbloom | 
| contrebasse@11 | 66 		{22792,5,2,4}}, -- Nightmare Vine | 
| contrebasse@0 | 67 	[39343] = { -- Azure Pigment | 
| contrebasse@3 | 68 		spellID = MillID, | 
| contrebasse@3 | 69 		spell = macroMill, | 
| contrebasse@11 | 70 		{37921,5,2,3}, -- Deadnettle | 
| contrebasse@11 | 71 		{36901,5,2,3}, -- Goldclover | 
| contrebasse@11 | 72 		{36907,5,2,3}, -- Talandra's Rose | 
| contrebasse@11 | 73 		{36904,5,2,3}, -- Tiger Lily | 
| contrebasse@11 | 74 		{39970,5,2,3}, -- Fire Leaf | 
| contrebasse@11 | 75 		{39969,5,2.5,3}, -- Fire Seed (2:33%/3:67%) | 
| contrebasse@11 | 76 		{36903,5,2,4}, -- Adder's Tongue | 
| contrebasse@11 | 77 		{36906,5,2,4}, -- Icethorn | 
| contrebasse@11 | 78 		{36905,5,2,4}}, -- Lichbloom | 
| contrebasse@0 | 79 	[61979] = { -- Ashen Pigment | 
| contrebasse@3 | 80 		spell = macroMill, | 
| contrebasse@3 | 81 		spellID = MillID, | 
| contrebasse@11 | 82 		{52983,5,2,3}, -- Cinderbloom | 
| contrebasse@11 | 83 		{52985,5,2,3}, -- Azshara's Veil | 
| contrebasse@11 | 84 		{52984,5,2,3}, -- Stormvine | 
| contrebasse@11 | 85 		{52986,5,2,3}, -- Heartblossom | 
| contrebasse@11 | 86 		{52988,5,2,4}, -- Whiptail | 
| contrebasse@11 | 87 		{52987,5,2,4}}, -- Twilight Jasmine | 
| contrebasse@11 | 88 	-- Rare pigments | 
| contrebasse@11 | 89 	[43103] = { -- Verdant Pigment | 
| contrebasse@11 | 90 		spell = macroMill, | 
| contrebasse@11 | 91 		spellID = MillID, | 
| contrebasse@11 | 92 		{785,5,0.25},  -- Mageroyal | 
| contrebasse@11 | 93 		{2450,5,0.25}, -- Briarthorn | 
| contrebasse@11 | 94 		{2452,5,0.25}, -- Swiftthistle | 
| contrebasse@11 | 95 		{2453,5,0.5}, -- Bruiseweed | 
| contrebasse@11 | 96 		{3820,5,0.5}}, -- Stranglekelp | 
| contrebasse@11 | 97 	[43104] = { -- Burnt Pigment | 
| contrebasse@11 | 98 		spell = macroMill, | 
| contrebasse@11 | 99 		spellID = MillID, | 
| contrebasse@11 | 100 		{3369,5,0.25}, -- Grave Moss | 
| contrebasse@11 | 101 		{3355,5,0.25}, -- Wild Steelbloom | 
| contrebasse@11 | 102 		{3356,5,0.5}, -- Kingsblood | 
| contrebasse@11 | 103 		{3357,5,0.5}}, -- Liferoot | 
| contrebasse@11 | 104 	[43105] = { -- Indigo Pigment | 
| contrebasse@11 | 105 		spell = macroMill, | 
| contrebasse@11 | 106 		spellID = MillID, | 
| contrebasse@11 | 107 		{3818,5,0.25}, -- Fadeleaf | 
| contrebasse@11 | 108 		{3821,5,0.25}, -- Goldthorn | 
| contrebasse@11 | 109 		{3358,5,0.5}, -- Khadgar's Whisker | 
| contrebasse@11 | 110 		{3819,5,0.5}}, -- Dragon's Teeth | 
| contrebasse@11 | 111 	[43106] = { -- Ruby Pigment | 
| contrebasse@11 | 112 		spell = macroMill, | 
| contrebasse@11 | 113 		spellID = MillID, | 
| contrebasse@11 | 114 		{4625,5,0.25}, -- Firebloom | 
| contrebasse@11 | 115 		{8831,5,0.25}, -- Purple Lotus | 
| contrebasse@11 | 116 		{8836,5,0.25}, -- Arthas' Tears | 
| contrebasse@11 | 117 		{8838,5,0.25}, -- Sungrass | 
| contrebasse@11 | 118 		{8839,5,0.5}, -- Blindweed | 
| contrebasse@11 | 119 		{8845,5,0.5}, -- Ghost Mushroom | 
| contrebasse@11 | 120 		{8846,5,0.5}}, -- Gromsblood | 
| contrebasse@11 | 121 	[43107] = { -- Sapphire Pigment | 
| contrebasse@11 | 122 		spell = macroMill, | 
| contrebasse@11 | 123 		spellID = MillID, | 
| contrebasse@11 | 124 		{13464,5,0.25}, -- Golden Sansam | 
| contrebasse@11 | 125 		{13463,5,0.25}, -- Dreamfoil | 
| contrebasse@11 | 126 		{13465,5,0.5}, -- Mountain Silversage | 
| contrebasse@11 | 127 		{13466,5,0.5}, -- Sorrowmoss | 
| contrebasse@11 | 128 		{13467,5,0.5}}, -- Icecap | 
| contrebasse@11 | 129 	[43108] = { -- Ebon Pigment | 
| contrebasse@11 | 130 		spell = macroMill, | 
| contrebasse@11 | 131 		spellID = MillID, | 
| contrebasse@11 | 132 		{22786,5,0.25}, -- Dreaming Glory | 
| contrebasse@11 | 133 		{22785,5,0.25}, -- Felweed | 
| contrebasse@11 | 134 		{22789,5,0.25}, -- Terocone | 
| contrebasse@11 | 135 		{22787,5,0.25}, -- Ragveil | 
| contrebasse@11 | 136 		{22790,5,0.5}, -- Ancient Lichen | 
| contrebasse@11 | 137 		{22793,5,0.5}, -- Mana Thistle | 
| contrebasse@11 | 138 		{22791,5,0.5}, -- Netherbloom | 
| contrebasse@11 | 139 		{22792,5,0.5}}, -- Nightmare Vine | 
| contrebasse@11 | 140 	[43109] = { -- Icy Pigment | 
| contrebasse@11 | 141 		spellID = MillID, | 
| contrebasse@11 | 142 		spell = macroMill, | 
| contrebasse@11 | 143 		{37921,5,0.25}, -- Deadnettle | 
| contrebasse@11 | 144 		{36901,5,0.25}, -- Goldclover | 
| contrebasse@11 | 145 		{36907,5,0.25}, -- Talandra's Rose | 
| contrebasse@11 | 146 		{36904,5,0.25}, -- Tiger Lily | 
| contrebasse@11 | 147 		{39970,5,0.25}, -- Fire Leaf | 
| contrebasse@11 | 148 		{39969,5,0.25}, -- Fire Seed | 
| contrebasse@11 | 149 		{36903,5,0.5}, -- Adder's Tongue | 
| contrebasse@11 | 150 		{36906,5,0.5}, -- Icethorn | 
| contrebasse@11 | 151 		{36905,5,0.5}}, -- Lichbloom | 
| contrebasse@11 | 152 	[61980] = { -- Burning Embers | 
| contrebasse@11 | 153 		spell = macroMill, | 
| contrebasse@11 | 154 		spellID = MillID, | 
| contrebasse@11 | 155 		{52983,5,0.25}, -- Cinderbloom | 
| contrebasse@11 | 156 		{52985,5,0.25}, -- Azshara's Veil | 
| contrebasse@11 | 157 		{52984,5,0.25}, -- Stormvine | 
| contrebasse@11 | 158 		{52986,5,0.25}, -- Heartblossom | 
| contrebasse@11 | 159 		{52988,5,0.5}, -- Whiptail | 
| contrebasse@11 | 160 		{52987,5,0.5}}, -- Twilight Jasmine | 
| contrebasse@0 | 161 | 
| contrebasse@8 | 162 	-- Prospect | 
| contrebasse@8 | 163 	[774] = { -- Malachite | 
| contrebasse@9 | 164 		spell = macroProspect, | 
| contrebasse@9 | 165 		spellID = ProspectID, | 
| contrebasse@8 | 166 		{2770,5,0.5}}, -- Copper Ore | 
| contrebasse@8 | 167 	[818] = { -- Tigerseye | 
| contrebasse@9 | 168 		spell = macroProspect, | 
| contrebasse@9 | 169 		spellID = ProspectID, | 
| contrebasse@8 | 170 		{2770,5,0.5}}, -- Copper Ore | 
| contrebasse@8 | 171 	[1210] = { -- Shadowgem | 
| contrebasse@9 | 172 		spell = macroProspect, | 
| contrebasse@9 | 173 		spellID = ProspectID, | 
| contrebasse@11 | 174 		{2771,50,0.38}, -- Tin Ore | 
| contrebasse@8 | 175 		{2770,5,0.1}}, -- Copper Ore | 
| contrebasse@8 | 176 	[1705] = { -- Lesser Moonstone | 
| contrebasse@9 | 177 		spell = macroProspect, | 
| contrebasse@9 | 178 		spellID = ProspectID, | 
| contrebasse@8 | 179 		{2771,5,0.38}, -- Tin Ore | 
| contrebasse@8 | 180 		{2772,5,0.35}}, -- Iron Ore | 
| contrebasse@8 | 181 	[1206] = { -- Moss Agate | 
| contrebasse@9 | 182 		spell = macroProspect, | 
| contrebasse@9 | 183 		spellID = ProspectID, | 
| contrebasse@8 | 184 		{2771,5,0.37}}, -- Tin Ore | 
| contrebasse@8 | 185 	[1529] = { -- Jade | 
| contrebasse@9 | 186 		spell = macroProspect, | 
| contrebasse@9 | 187 		spellID = ProspectID, | 
| contrebasse@8 | 188 		{2772,5,0.35}, -- Iron Ore | 
| contrebasse@8 | 189 		{2771,5,0.03}}, -- Tin Ore | 
| contrebasse@8 | 190 	[7909] = { -- Aquamarine | 
| contrebasse@9 | 191 		spell = macroProspect, | 
| contrebasse@9 | 192 		spellID = ProspectID, | 
| contrebasse@8 | 193 		{3858,5,0.35}, -- Mithril Ore | 
| contrebasse@8 | 194 		{2772,5,0.05}, -- Iron Ore | 
| contrebasse@8 | 195 		{2771,5,0.03}}, -- Tin Ore | 
| contrebasse@8 | 196 	[3864] = { -- Citrine | 
| contrebasse@9 | 197 		spell = macroProspect, | 
| contrebasse@9 | 198 		spellID = ProspectID, | 
| contrebasse@8 | 199 		{2772,5,0.36}, -- Iron Ore | 
| contrebasse@8 | 200 		{3858,5,0.35}, -- Mithril Ore | 
| contrebasse@8 | 201 		{2771,5,0.03}}, -- Tin Ore | 
| contrebasse@8 | 202 	[7910] = { -- Star Ruby | 
| contrebasse@9 | 203 		spell = macroProspect, | 
| contrebasse@9 | 204 		spellID = ProspectID, | 
| contrebasse@8 | 205 		{3858,5,0.36}, -- Mithril Ore | 
| contrebasse@8 | 206 		{10620,5,0.15}, -- Thorium Ore | 
| contrebasse@8 | 207 		{2772,5,0.05}}, -- Iron Ore | 
| contrebasse@8 | 208 	[12799] = { -- Large Opal | 
| contrebasse@9 | 209 		spell = macroProspect, | 
| contrebasse@9 | 210 		spellID = ProspectID, | 
| contrebasse@8 | 211 		{10620,5,0.31}, -- Thorium Ore | 
| contrebasse@8 | 212 		{3858,5,0.03}}, -- Mithril Ore | 
| contrebasse@8 | 213 	[12361] = { -- Blue Sapphire | 
| contrebasse@9 | 214 		spell = macroProspect, | 
| contrebasse@9 | 215 		spellID = ProspectID, | 
| contrebasse@8 | 216 		{10620,5,0.31}, -- Thorium Ore | 
| contrebasse@8 | 217 		{3858,5,0.02}}, -- Mithril Ore | 
| contrebasse@8 | 218 	[12800] = { -- Azerothian Diamond | 
| contrebasse@9 | 219 		spell = macroProspect, | 
| contrebasse@9 | 220 		spellID = ProspectID, | 
| contrebasse@8 | 221 		{10620,5,0.31}, -- Thorium Ore | 
| contrebasse@8 | 222 		{3858,5,0.02}}, -- Mithril Ore | 
| contrebasse@8 | 223 	[12364] = { -- Huge Emerald | 
| contrebasse@9 | 224 		spell = macroProspect, | 
| contrebasse@9 | 225 		spellID = ProspectID, | 
| contrebasse@8 | 226 		{10620,5,0.31}, -- Thorium Ore | 
| contrebasse@8 | 227 		{3858,5,0.02}}, -- Mithril Ore | 
| contrebasse@8 | 228 	[23112] = { -- Golden Draenite | 
| contrebasse@9 | 229 		spell = macroProspect, | 
| contrebasse@9 | 230 		spellID = ProspectID, | 
| contrebasse@8 | 231 		{23424,5,0.19}, -- Fel Iron Ore | 
| contrebasse@8 | 232 		{23425,5,0.18}}, -- Adamantite Ore | 
| contrebasse@8 | 233 	-- To be continued... | 
| contrebasse@8 | 234 | 
| contrebasse@8 | 235 | 
| contrebasse@3 | 236 	-- To add : enchants, elementals, prospecting | 
| contrebasse@0 | 237 } | 
| contrebasse@0 | 238 | 
| contrebasse@0 | 239 -- @todo improve scanning | 
| contrebasse@0 | 240 -- @todo rescan when a new refipe appears (TRADESKILL_UPDATE ?) | 
| contrebasse@0 | 241 -- @todo be sure that skillName is unique, or use something else | 
| contrebasse@0 | 242 -- @todo add support for multi-reagents recipes | 
| contrebasse@0 | 243 function A:ScanSimpleRecipes() | 
| contrebasse@0 | 244 	for i = 1,GetNumTradeSkills() do | 
| contrebasse@0 | 245 		local skillName, skillType, numAvailable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(i) | 
| contrebasse@0 | 246 		if skillType ~= "header" then | 
| contrebasse@0 | 247 			if GetTradeSkillNumReagents(i) == 1 then | 
| contrebasse@0 | 248 				-- item ID | 
| contrebasse@0 | 249 				local itemID = A.link2ID(GetTradeSkillItemLink(i)) | 
| contrebasse@0 | 250 | 
| contrebasse@0 | 251 				-- reagent ID | 
| contrebasse@3 | 252 				local reagentID = A.link2ID(GetTradeSkillReagentItemLink(i, 1)) | 
| contrebasse@0 | 253 | 
| contrebasse@0 | 254 				-- reagent number needed | 
| contrebasse@0 | 255 				local reagentName, reagentTexture, reagentCount, playerReagentCount = GetTradeSkillReagentInfo(i, 1) | 
| contrebasse@0 | 256 | 
| contrebasse@12 | 257 				-- number of reagent created by the recipe | 
| contrebasse@12 | 258 				local minMade, maxMade = GetTradeSkillNumMade(i) | 
| contrebasse@12 | 259 				if maxMade==minMade then | 
| contrebasse@12 | 260 					maxMade = nil | 
| contrebasse@12 | 261 					if minMade==1 then | 
| contrebasse@12 | 262 						minMade = nil | 
| contrebasse@12 | 263 					end | 
| contrebasse@0 | 264 				end | 
| contrebasse@0 | 265 | 
| contrebasse@12 | 266 				-- error checking | 
| contrebasse@12 | 267 				if not reagentID or not reagentCount or not skillName or not itemID or not minMade or not maxMade then | 
| contrebasse@12 | 268 					print("Erreur de scan :",itemID,skillName,reagentID,reagentCount,minMade,maxMade) | 
| contrebasse@12 | 269 				end | 
| contrebasse@12 | 270 | 
| contrebasse@12 | 271 				-- skillName or...??? | 
| contrebasse@3 | 272 				if not A.data[itemID] then | 
| contrebasse@12 | 273 					A.data[itemID] = {} | 
| contrebasse@12 | 274 				end | 
| contrebasse@12 | 275 				local newSpell = true | 
| contrebasse@12 | 276 				for _,v in ipairs(A.data[itemID]) do | 
| contrebasse@12 | 277 					if v.spellName==skillName then | 
| contrebasse@12 | 278 						newSpell = nil | 
| contrebasse@12 | 279 						break | 
| contrebasse@12 | 280 					end | 
| contrebasse@12 | 281 				end | 
| contrebasse@12 | 282 				if newSpell then | 
| contrebasse@12 | 283 					tinsert(A.data[itemID],{reagentID,reagentCount,minMade,maxMade,spellName=skillName}) | 
| contrebasse@0 | 284 				end | 
| contrebasse@0 | 285 			end -- if | 
| contrebasse@0 | 286 		end -- if | 
| contrebasse@0 | 287 	end -- for | 
| contrebasse@0 | 288 end |