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