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