Mercurial > wow > reagentmaker
changeset 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 |
files | MillingData.lua ProspectingData.lua ReagentMaker.toc data.lua |
diffstat | 4 files changed, 235 insertions(+), 242 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MillingData.lua Sat May 14 16:27:34 2011 +0200 @@ -0,0 +1,139 @@ +local addonName, A = ... + +-- "Recipe" data +-- [itemID] = { +-- {reagentID, numberNeeded} +-- {reagentID, numberNeeded, minProduced, maxProduced} +-- {reagentID, numberNeeded, chanceToHaveOne}} +A.MillingData = { + -- Normal pigments + [39151] = { -- Alabaster Pigment + {2447,5,2,3}, -- Peacebloom + { 765,5,2,3}, -- Silverleaf + {2449,5,2,4}}, -- Earthroot + [39334] = { -- Dusky Pigment + { 785,5,2,3}, -- Mageroyal + {2450,5,2,3}, -- Briarthorn + {2452,5,2,3}, -- Swiftthistle + {2453,5,2,4}, -- Bruiseweed + {3820,5,2,4}}, -- Stranglekelp + [39338] = { -- Golden Pigment + {3369,5,2,3}, -- Grave Moss + {3355,5,2,3}, -- Wild Steelbloom + {3356,5,2,4}, -- Kingsblood + {3357,5,2,4}}, -- Liferoot + [39339] = { -- Emerald Pigment + {3818,5,2,3}, -- Fadeleaf + {3821,5,2,3}, -- Goldthorn + {3358,5,3,4}, -- Khadgar's Whisker + {3819,5,3,4}}, -- Dragon's Teeth + [39340] = { -- Violet Pigment + {4625,5,2,3}, -- Firebloom + {8831,5,2,3}, -- Purple Lotus + {8836,5,2,3}, -- Arthas' Tears + {8838,5,2,3}, -- Sungrass + {8839,5,2,4}, -- Blindweed + {8845,5,2,4}, -- Ghost Mushroom + {8846,5,2,4}}, -- Gromsblood + [39341] = { -- Silvery Pigment + {13464,5,2,3}, -- Golden Sansam + {13463,5,2,3}, -- Dreamfoil + {13465,5,2,4}, -- Mountain Silversage + {13466,5,2,4}, -- Sorrowmoss + {13467,5,2,4}}, -- Icecap + [39342] = { -- Nether Pigment + {22786,5,2,3}, -- Dreaming Glory + {22785,5,2,3}, -- Felweed + {22789,5,2,3}, -- Terocone + {22787,5,2,3}, -- Ragveil + {22790,5,2,4}, -- Ancient Lichen + {22793,5,2,4}, -- Mana Thistle + {22791,5,2,4}, -- Netherbloom + {22792,5,2,4}}, -- Nightmare Vine + [39343] = { -- Azure Pigment + {37921,5,2,3}, -- Deadnettle + {36901,5,2,3}, -- Goldclover + {36907,5,2,3}, -- Talandra's Rose + {36904,5,2,3}, -- Tiger Lily + {39970,5,2,3}, -- Fire Leaf + {39969,5,2.3,3}, -- Fire Seed (2:33%/3:67%) + {36903,5,2,4}, -- Adder's Tongue + {36906,5,2,4}, -- Icethorn + {36905,5,2,4}}, -- Lichbloom + [61979] = { -- Ashen Pigment + {52983,5,2,3}, -- Cinderbloom + {52985,5,2,3}, -- Azshara's Veil + {52984,5,2,3}, -- Stormvine + {52986,5,2,3}, -- Heartblossom + {52988,5,2,4}, -- Whiptail + {52987,5,2,4}}, -- Twilight Jasmine + + -- Rare pigments + [43103] = { -- Verdant Pigment + {785,5,0.25}, -- Mageroyal + {2450,5,0.25}, -- Briarthorn + {2452,5,0.25}, -- Swiftthistle + {2453,5,0.5}, -- Bruiseweed + {3820,5,0.5}}, -- Stranglekelp + [43104] = { -- Burnt Pigment + {3369,5,0.25}, -- Grave Moss + {3355,5,0.25}, -- Wild Steelbloom + {3356,5,0.5}, -- Kingsblood + {3357,5,0.5}}, -- Liferoot + [43105] = { -- Indigo Pigment + {3818,5,0.25}, -- Fadeleaf + {3821,5,0.25}, -- Goldthorn + {3358,5,0.5}, -- Khadgar's Whisker + {3819,5,0.5}}, -- Dragon's Teeth + [43106] = { -- Ruby Pigment + {4625,5,0.25}, -- Firebloom + {8831,5,0.25}, -- Purple Lotus + {8836,5,0.25}, -- Arthas' Tears + {8838,5,0.25}, -- Sungrass + {8839,5,0.5}, -- Blindweed + {8845,5,0.5}, -- Ghost Mushroom + {8846,5,0.5}}, -- Gromsblood + [43107] = { -- Sapphire Pigment + {13464,5,0.25}, -- Golden Sansam + {13463,5,0.25}, -- Dreamfoil + {13465,5,0.5}, -- Mountain Silversage + {13466,5,0.5}, -- Sorrowmoss + {13467,5,0.5}}, -- Icecap + [43108] = { -- Ebon Pigment + {22786,5,0.25}, -- Dreaming Glory + {22785,5,0.25}, -- Felweed + {22789,5,0.25}, -- Terocone + {22787,5,0.25}, -- Ragveil + {22790,5,0.5}, -- Ancient Lichen + {22793,5,0.5}, -- Mana Thistle + {22791,5,0.5}, -- Netherbloom + {22792,5,0.5}}, -- Nightmare Vine + [43109] = { -- Icy Pigment + {37921,5,0.25}, -- Deadnettle + {36901,5,0.25}, -- Goldclover + {36907,5,0.25}, -- Talandra's Rose + {36904,5,0.25}, -- Tiger Lily + {39970,5,0.25}, -- Fire Leaf + {39969,5,0.25}, -- Fire Seed + {36903,5,0.5}, -- Adder's Tongue + {36906,5,0.5}, -- Icethorn + {36905,5,0.5}}, -- Lichbloom + [61980] = { -- Burning Embers + {52983,5,0.25}, -- Cinderbloom + {52985,5,0.25}, -- Azshara's Veil + {52984,5,0.25}, -- Stormvine + {52986,5,0.25}, -- Heartblossom + {52988,5,0.5}, -- Whiptail + {52987,5,0.5}}, -- Twilight Jasmine +} + +-- "Tradeskill" data +local MillID = 51005 +local macroMill = "/cast "..GetSpellInfo(MillID).."\n/use %s" +local MillLink = GetSpellLink(MillID) + +for k,v in pairs(A.MillingData) do + v.spell = macroMill + v.spellID = MillID + v.spellLink = MillLink +end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProspectingData.lua Sat May 14 16:27:34 2011 +0200 @@ -0,0 +1,64 @@ +local addonName, A = ... + +-- "Recipe" data +-- [itemID] = { +-- {reagentID, numberNeeded} +-- {reagentID, numberNeeded, minProduced, maxProduced} +-- {reagentID, numberNeeded, chanceToHaveOne}} +A.ProspectingData = { + -- Prospect + [774] = { -- Malachite + {2770,5,0.5}}, -- Copper Ore + [818] = { -- Tigerseye + {2770,5,0.5}}, -- Copper Ore + [1210] = { -- Shadowgem + {2771,5,0.38}, -- Tin Ore + {2770,5,0.1}}, -- Copper Ore + [1705] = { -- Lesser Moonstone + {2771,5,0.38}, -- Tin Ore + {2772,5,0.35}}, -- Iron Ore + [1206] = { -- Moss Agate + {2771,5,0.37}}, -- Tin Ore + [1529] = { -- Jade + {2772,5,0.35}, -- Iron Ore + {2771,5,0.03}}, -- Tin Ore + [7909] = { -- Aquamarine + {3858,5,0.35}, -- Mithril Ore + {2772,5,0.05}, -- Iron Ore + {2771,5,0.03}}, -- Tin Ore + [3864] = { -- Citrine + {2772,5,0.36}, -- Iron Ore + {3858,5,0.35}, -- Mithril Ore + {2771,5,0.03}}, -- Tin Ore + [7910] = { -- Star Ruby + {3858,5,0.36}, -- Mithril Ore + {10620,5,0.15}, -- Thorium Ore + {2772,5,0.05}}, -- Iron Ore + [12799] = { -- Large Opal + {10620,5,0.31}, -- Thorium Ore + {3858,5,0.03}}, -- Mithril Ore + [12361] = { -- Blue Sapphire + {10620,5,0.31}, -- Thorium Ore + {3858,5,0.02}}, -- Mithril Ore + [12800] = { -- Azerothian Diamond + {10620,5,0.31}, -- Thorium Ore + {3858,5,0.02}}, -- Mithril Ore + [12364] = { -- Huge Emerald + {10620,5,0.31}, -- Thorium Ore + {3858,5,0.02}}, -- Mithril Ore + [23112] = { -- Golden Draenite + {23424,5,0.19}, -- Fel Iron Ore + {23425,5,0.18}}, -- Adamantite Ore + -- To be continued... +} + +-- "Tradeskill" data +local ProspectID = 31252 +local macroProspect = "/cast "..GetSpellInfo(ProspectID).."\n/use %s" +local ProspectLink = GetSpellLink(ProspectID) + +for k,v in pairs(A.ProspectingData) do + v.spell = macroProspect + v.spellID = ProspectID + v.spellLink = ProspectLink +end
--- a/ReagentMaker.toc Sat May 14 10:05:56 2011 +0200 +++ b/ReagentMaker.toc Sat May 14 16:27:34 2011 +0200 @@ -6,6 +6,9 @@ localization.lua +ProspectingData.lua +MillingData.lua + utils.lua data.lua SecureMenu.lua
--- a/data.lua Sat May 14 10:05:56 2011 +0200 +++ b/data.lua Sat May 14 16:27:34 2011 +0200 @@ -1,265 +1,34 @@ local addonName, A = ... -- @todo: complete jewelcrafting items - -local MillID = 51005 -local macroMill = "/cast "..GetSpellInfo(MillID).."\n/use " -local MillLink = GetSpellLink(MillID) -MillID = nil -local ProspectID = 31252 -local macroProspect = "/cast "..GetSpellInfo(ProspectID).."\n/use " -local ProspectLink = GetSpellLink(ProspectID) -ProspectID = nil -A.data = { - -- Mill - -- Normal pigments - [39151] = { -- Alabaster Pigment - spell = macroMill, - spellLink = MillLink, - {2447,5,2,3}, -- Peacebloom - { 765,5,2,3}, -- Silverleaf - {2449,5,2,4}}, -- Earthroot - [39334] = { -- Dusky Pigment - spell = macroMill, - spellLink = MillLink, - { 785,5,2,3}, -- Mageroyal - {2450,5,2,3}, -- Briarthorn - {2452,5,2,3}, -- Swiftthistle - {2453,5,2,4}, -- Bruiseweed - {3820,5,2,4}}, -- Stranglekelp - [39338] = { -- Golden Pigment - spell = macroMill, - spellLink = MillLink, - {3369,5,2,3}, -- Grave Moss - {3355,5,2,3}, -- Wild Steelbloom - {3356,5,2,4}, -- Kingsblood - {3357,5,2,4}}, -- Liferoot - [39339] = { -- Emerald Pigment - spell = macroMill, - spellLink = MillLink, - {3818,5,2,3}, -- Fadeleaf - {3821,5,2,3}, -- Goldthorn - {3358,5,3,4}, -- Khadgar's Whisker - {3819,5,3,4}}, -- Dragon's Teeth - [39340] = { -- Violet Pigment - spell = macroMill, - spellLink = MillLink, - {4625,5,2,3}, -- Firebloom - {8831,5,2,3}, -- Purple Lotus - {8836,5,2,3}, -- Arthas' Tears - {8838,5,2,3}, -- Sungrass - {8839,5,2,4}, -- Blindweed - {8845,5,2,4}, -- Ghost Mushroom - {8846,5,2,4}}, -- Gromsblood - [39341] = { -- Silvery Pigment - spell = macroMill, - spellLink = MillLink, - {13464,5,2,3}, -- Golden Sansam - {13463,5,2,3}, -- Dreamfoil - {13465,5,2,4}, -- Mountain Silversage - {13466,5,2,4}, -- Sorrowmoss - {13467,5,2,4}}, -- Icecap - [39342] = { -- Nether Pigment - spell = macroMill, - spellLink = MillLink, - {22786,5,2,3}, -- Dreaming Glory - {22785,5,2,3}, -- Felweed - {22789,5,2,3}, -- Terocone - {22787,5,2,3}, -- Ragveil - {22790,5,2,4}, -- Ancient Lichen - {22793,5,2,4}, -- Mana Thistle - {22791,5,2,4}, -- Netherbloom - {22792,5,2,4}}, -- Nightmare Vine - [39343] = { -- Azure Pigment - spellLink = MillLink, - spell = macroMill, - {37921,5,2,3}, -- Deadnettle - {36901,5,2,3}, -- Goldclover - {36907,5,2,3}, -- Talandra's Rose - {36904,5,2,3}, -- Tiger Lily - {39970,5,2,3}, -- Fire Leaf - {39969,5,2.3,3}, -- Fire Seed (2:33%/3:67%) - {36903,5,2,4}, -- Adder's Tongue - {36906,5,2,4}, -- Icethorn - {36905,5,2,4}}, -- Lichbloom - [61979] = { -- Ashen Pigment - spell = macroMill, - spellLink = MillLink, - {52983,5,2,3}, -- Cinderbloom - {52985,5,2,3}, -- Azshara's Veil - {52984,5,2,3}, -- Stormvine - {52986,5,2,3}, -- Heartblossom - {52988,5,2,4}, -- Whiptail - {52987,5,2,4}}, -- Twilight Jasmine - -- Rare pigments - [43103] = { -- Verdant Pigment - spell = macroMill, - spellLink = MillLink, - {785,5,0.25}, -- Mageroyal - {2450,5,0.25}, -- Briarthorn - {2452,5,0.25}, -- Swiftthistle - {2453,5,0.5}, -- Bruiseweed - {3820,5,0.5}}, -- Stranglekelp - [43104] = { -- Burnt Pigment - spell = macroMill, - spellLink = MillLink, - {3369,5,0.25}, -- Grave Moss - {3355,5,0.25}, -- Wild Steelbloom - {3356,5,0.5}, -- Kingsblood - {3357,5,0.5}}, -- Liferoot - [43105] = { -- Indigo Pigment - spell = macroMill, - spellLink = MillLink, - {3818,5,0.25}, -- Fadeleaf - {3821,5,0.25}, -- Goldthorn - {3358,5,0.5}, -- Khadgar's Whisker - {3819,5,0.5}}, -- Dragon's Teeth - [43106] = { -- Ruby Pigment - spell = macroMill, - spellLink = MillLink, - {4625,5,0.25}, -- Firebloom - {8831,5,0.25}, -- Purple Lotus - {8836,5,0.25}, -- Arthas' Tears - {8838,5,0.25}, -- Sungrass - {8839,5,0.5}, -- Blindweed - {8845,5,0.5}, -- Ghost Mushroom - {8846,5,0.5}}, -- Gromsblood - [43107] = { -- Sapphire Pigment - spell = macroMill, - spellLink = MillLink, - {13464,5,0.25}, -- Golden Sansam - {13463,5,0.25}, -- Dreamfoil - {13465,5,0.5}, -- Mountain Silversage - {13466,5,0.5}, -- Sorrowmoss - {13467,5,0.5}}, -- Icecap - [43108] = { -- Ebon Pigment - spell = macroMill, - spellLink = MillLink, - {22786,5,0.25}, -- Dreaming Glory - {22785,5,0.25}, -- Felweed - {22789,5,0.25}, -- Terocone - {22787,5,0.25}, -- Ragveil - {22790,5,0.5}, -- Ancient Lichen - {22793,5,0.5}, -- Mana Thistle - {22791,5,0.5}, -- Netherbloom - {22792,5,0.5}}, -- Nightmare Vine - [43109] = { -- Icy Pigment - spellLink = MillLink, - spell = macroMill, - {37921,5,0.25}, -- Deadnettle - {36901,5,0.25}, -- Goldclover - {36907,5,0.25}, -- Talandra's Rose - {36904,5,0.25}, -- Tiger Lily - {39970,5,0.25}, -- Fire Leaf - {39969,5,0.25}, -- Fire Seed - {36903,5,0.5}, -- Adder's Tongue - {36906,5,0.5}, -- Icethorn - {36905,5,0.5}}, -- Lichbloom - [61980] = { -- Burning Embers - spell = macroMill, - spellLink = MillLink, - {52983,5,0.25}, -- Cinderbloom - {52985,5,0.25}, -- Azshara's Veil - {52984,5,0.25}, -- Stormvine - {52986,5,0.25}, -- Heartblossom - {52988,5,0.5}, -- Whiptail - {52987,5,0.5}}, -- Twilight Jasmine - - -- Prospect - [774] = { -- Malachite - spell = macroProspect, - spellLink = ProspectLink, - {2770,5,0.5}}, -- Copper Ore - [818] = { -- Tigerseye - spell = macroProspect, - spellLink = ProspectLink, - {2770,5,0.5}}, -- Copper Ore - [1210] = { -- Shadowgem - spell = macroProspect, - spellLink = ProspectLink, - {2771,5,0.38}, -- Tin Ore - {2770,5,0.1}}, -- Copper Ore - [1705] = { -- Lesser Moonstone - spell = macroProspect, - spellLink = ProspectLink, - {2771,5,0.38}, -- Tin Ore - {2772,5,0.35}}, -- Iron Ore - [1206] = { -- Moss Agate - spell = macroProspect, - spellLink = ProspectLink, - {2771,5,0.37}}, -- Tin Ore - [1529] = { -- Jade - spell = macroProspect, - spellLink = ProspectLink, - {2772,5,0.35}, -- Iron Ore - {2771,5,0.03}}, -- Tin Ore - [7909] = { -- Aquamarine - spell = macroProspect, - spellLink = ProspectLink, - {3858,5,0.35}, -- Mithril Ore - {2772,5,0.05}, -- Iron Ore - {2771,5,0.03}}, -- Tin Ore - [3864] = { -- Citrine - spell = macroProspect, - spellLink = ProspectLink, - {2772,5,0.36}, -- Iron Ore - {3858,5,0.35}, -- Mithril Ore - {2771,5,0.03}}, -- Tin Ore - [7910] = { -- Star Ruby - spell = macroProspect, - spellLink = ProspectLink, - {3858,5,0.36}, -- Mithril Ore - {10620,5,0.15}, -- Thorium Ore - {2772,5,0.05}}, -- Iron Ore - [12799] = { -- Large Opal - spell = macroProspect, - spellLink = ProspectLink, - {10620,5,0.31}, -- Thorium Ore - {3858,5,0.03}}, -- Mithril Ore - [12361] = { -- Blue Sapphire - spell = macroProspect, - spellLink = ProspectLink, - {10620,5,0.31}, -- Thorium Ore - {3858,5,0.02}}, -- Mithril Ore - [12800] = { -- Azerothian Diamond - spell = macroProspect, - spellLink = ProspectLink, - {10620,5,0.31}, -- Thorium Ore - {3858,5,0.02}}, -- Mithril Ore - [12364] = { -- Huge Emerald - spell = macroProspect, - spellLink = ProspectLink, - {10620,5,0.31}, -- Thorium Ore - {3858,5,0.02}}, -- Mithril Ore - [23112] = { -- Golden Draenite - spell = macroProspect, - spellLink = ProspectLink, - {23424,5,0.19}, -- Fel Iron Ore - {23425,5,0.18}}, -- Adamantite Ore - -- To be continued... - - - -- To add : enchants, elementals, prospecting -} +-- @todo: enchants, elementals, prospecting -- @todo improve scanning --- @todo rescan when a new refipe appears (TRADESKILL_UPDATE ?) -- @todo be sure that skillName is unique, or use something else -- @todo add support for multi-reagents recipes + +A.data = {} + do -- lua functions local print = print local ipairs = ipairs local tinsert = tinsert + local select = select -- Wow functions local GetNumTradeSkills = GetNumTradeSkills local GetTradeSkillInfo = GetTradeSkillInfo local GetTradeSkillNumReagents = GetTradeSkillNumReagents local GetTradeSkillItemLink = GetTradeSkillItemLink + local GetTradeSkillRecipeLink = GetTradeSkillRecipeLink local GetTradeSkillReagentItemLink = GetTradeSkillReagentItemLink local GetTradeSkillReagentInfo = GetTradeSkillReagentInfo local GetTradeSkillNumMade = GetTradeSkillNumMade + local GetSpellInfo = GetSpellInfo + + -- Wow objects + local GetTradeSkillLine = GetTradeSkillLine -- the function who scans the tradeskill function A:ScanSimpleRecipes() @@ -270,6 +39,23 @@ return end + -- Check if the pseudo tradeskills have to be added + if GetTradeSkillLine() == GetSpellInfo(25229) then -- Jewelcrafting + if not A.ProspectingDataLoaded then + for itemID,data in A.ProspectingData do + A.data[itemID] = data + end + A.ProspectingDataLoaded = true + end + elseif GetTradeSkillLine:GetText() == GetSpellInfo(45357) then -- Inscription + if not A.MillingDataLoaded then + for itemID,data in A.MillingData do + A.data[itemID] = data + end + A.MillingDataLoaded = true + end + end + for i = 2,NRecipes do -- The first one is a header local skillName, skillType, numAvailable, isExpanded, serviceType, numSkillUps = GetTradeSkillInfo(i) if skillType ~= "header" then @@ -277,11 +63,11 @@ -- item ID local itemID = A.link2ID(GetTradeSkillItemLink(i)) - -- reagent ID + -- reagent ID, valid only if there's only one reagent as we take only the first one local reagentID = A.link2ID(GetTradeSkillReagentItemLink(i, 1)) -- reagent number needed - local reagentName, reagentTexture, reagentCount, playerReagentCount = GetTradeSkillReagentInfo(i, 1) + local _, _, reagentCount, _ = GetTradeSkillReagentInfo(i, 1) -- number of reagent created by the recipe local minMade, maxMade = GetTradeSkillNumMade(i)