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