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@15
|
5 local ProspectID = 31252
|
contrebasse@15
|
6 local 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@15
|
243 do
|
contrebasse@15
|
244 -- lua functions
|
contrebasse@15
|
245 local print = print
|
contrebasse@15
|
246 local ipairs = ipairs
|
contrebasse@15
|
247 local tinsert = tinsert
|
contrebasse@0
|
248
|
contrebasse@15
|
249 -- Wow functions
|
contrebasse@15
|
250 local GetNumTradeSkills = GetNumTradeSkills
|
contrebasse@15
|
251 local GetTradeSkillInfo = GetTradeSkillInfo
|
contrebasse@15
|
252 local GetTradeSkillNumReagents = GetTradeSkillNumReagents
|
contrebasse@15
|
253 local GetTradeSkillItemLink = GetTradeSkillItemLink
|
contrebasse@15
|
254 local GetTradeSkillReagentItemLink = GetTradeSkillReagentItemLink
|
contrebasse@15
|
255 local GetTradeSkillReagentInfo = GetTradeSkillReagentInfo
|
contrebasse@15
|
256 local GetTradeSkillNumMade = GetTradeSkillNumMade
|
contrebasse@0
|
257
|
contrebasse@15
|
258 -- the function who scans the tradeskill
|
contrebasse@15
|
259 function A:ScanSimpleRecipes()
|
contrebasse@15
|
260 for i = 1,GetNumTradeSkills() do
|
contrebasse@15
|
261 local skillName, skillType, numAvailable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(i)
|
contrebasse@15
|
262 if skillType ~= "header" then
|
contrebasse@15
|
263 if GetTradeSkillNumReagents(i) == 1 then
|
contrebasse@15
|
264 -- item ID
|
contrebasse@15
|
265 local itemID = A.link2ID(GetTradeSkillItemLink(i))
|
contrebasse@0
|
266
|
contrebasse@15
|
267 -- reagent ID
|
contrebasse@15
|
268 local reagentID = A.link2ID(GetTradeSkillReagentItemLink(i, 1))
|
contrebasse@14
|
269
|
contrebasse@15
|
270 -- reagent number needed
|
contrebasse@15
|
271 local reagentName, reagentTexture, reagentCount, playerReagentCount = GetTradeSkillReagentInfo(i, 1)
|
contrebasse@14
|
272
|
contrebasse@15
|
273 -- number of reagent created by the recipe
|
contrebasse@15
|
274 local minMade, maxMade = GetTradeSkillNumMade(i)
|
contrebasse@0
|
275
|
contrebasse@15
|
276 -- error checking
|
contrebasse@15
|
277 if not reagentID or not reagentCount or not skillName or not itemID or not minMade or not maxMade then
|
contrebasse@15
|
278 print("Erreur de scan :",itemID,skillName,reagentID,reagentCount,minMade,maxMade)
|
contrebasse@15
|
279 end -- if
|
contrebasse@15
|
280
|
contrebasse@15
|
281 -- remove unneeded minMade/maxMade
|
contrebasse@15
|
282 if maxMade==minMade then
|
contrebasse@15
|
283 maxMade = nil
|
contrebasse@15
|
284 if minMade==1 then
|
contrebasse@15
|
285 minMade = nil
|
contrebasse@15
|
286 end -- if
|
contrebasse@15
|
287 end -- if
|
contrebasse@15
|
288
|
contrebasse@15
|
289 -- skillName or...???
|
contrebasse@15
|
290 if not A.data[itemID] then
|
contrebasse@15
|
291 A.data[itemID] = {}
|
contrebasse@15
|
292 end -- if
|
contrebasse@15
|
293 local newSpell = true
|
contrebasse@15
|
294 for _,v in ipairs(A.data[itemID]) do
|
contrebasse@15
|
295 if v.spellName==skillName then
|
contrebasse@15
|
296 newSpell = nil
|
contrebasse@15
|
297 break
|
contrebasse@15
|
298 end -- if
|
contrebasse@15
|
299 end -- for
|
contrebasse@15
|
300 if newSpell then
|
contrebasse@15
|
301 tinsert(A.data[itemID],{reagentID,reagentCount,minMade,maxMade,spellName=skillName})
|
contrebasse@15
|
302 end -- if
|
contrebasse@15
|
303 end -- if
|
contrebasse@0
|
304 end -- if
|
contrebasse@15
|
305 end -- for
|
contrebasse@15
|
306 end -- function
|
contrebasse@15
|
307 end -- do
|