# HG changeset patch # User contrebasse # Date 1301783108 -7200 # Node ID 2273a56762cb1ebfea814d3caa0fe326822f4449 # Parent 2716889648bd29bb97d0c3c92f6cdee68f9f4949 Manage -partially- multiple recipes for the same item adn track the number of items made by a recipe diff -r 2716889648bd -r 2273a56762cb data.lua --- a/data.lua Sat Apr 02 23:37:19 2011 +0200 +++ b/data.lua Sun Apr 03 00:25:08 2011 +0200 @@ -254,17 +254,35 @@ -- reagent number needed local reagentName, reagentTexture, reagentCount, playerReagentCount = GetTradeSkillReagentInfo(i, 1) - -- skillName or...??? - if not reagentID or not reagentCount or not skillName or not itemID then - A.DEBUG("Erreur de scan :") - print(itemID," ",skillName," ",reagentID," ",reagentCount) + -- number of reagent created by the recipe + local minMade, maxMade = GetTradeSkillNumMade(i) + if maxMade==minMade then + maxMade = nil + if minMade==1 then + minMade = nil + end end + -- error checking + if not reagentID or not reagentCount or not skillName or not itemID or not minMade or not maxMade then + print("Erreur de scan :",itemID,skillName,reagentID,reagentCount,minMade,maxMade) + end + + -- skillName or...??? if not A.data[itemID] then - A.data[itemID] = {{reagentID,reagentCount}} + A.data[itemID] = {} + end + local newSpell = true + for _,v in ipairs(A.data[itemID]) do + if v.spellName==skillName then + newSpell = nil + break + end + end + if newSpell then + tinsert(A.data[itemID],{reagentID,reagentCount,minMade,maxMade,spellName=skillName}) end end -- if end -- if end -- for - end