From df7f0eab7aa5fb6710ac4d0d502ee6362661b4f5 Mon Sep 17 00:00:00 2001 From: torhal Date: Sun, 7 Jun 2009 04:44:16 +0000 Subject: [PATCH] Missing/extra flags in tooltip scan will now print in numeric order. Updated coordinates for Andrew Hilbert in Silverpine. --- ARLDatamine.lua | 78 +++++++++++++++++++++++++++++++---------------- RecipeDB/ARL-Vendor.lua | 2 +- 2 files changed, 52 insertions(+), 28 deletions(-) diff --git a/ARLDatamine.lua b/ARLDatamine.lua index 11d4777..d3042a4 100644 --- a/ARLDatamine.lua +++ b/ARLDatamine.lua @@ -2095,19 +2095,29 @@ do } local CLASS_TYPES = { - -- Class types ["Deathknight"] = 21, ["Druid"] = 22, ["Hunter"] = 23, ["Mage"] = 24, ["Paladin"] = 25, ["Priest"] = 26, ["Shaman"] = 27, ["Rogue"] = 28, ["Warlock"] = 29, ["Warrior"] = 30, } + local ORDERED_CLASS_TYPES = { + [1] = "Deathknight", [2] = "Druid", [3] = "Hunter", + [4] = "Mage", [5] = "Paladin", [6] = "Priest", + [7] = "Shaman", [8] = "Rogue", [9] = "Warlock", + [10] = "Warrior", + } + local ROLE_TYPES = { - -- Player role ["dps"] = 51, ["tank"] = 52, ["healer"] = 53, ["caster"] = 54, ["RESERVED1"] = 55, } + local ORDERED_ROLE_TYPES = { + [1] = "dps", [2] = "tank", [3] = "healer", + [4] = "caster", [5] = "RESERVED1", + } + local ITEM_TYPES = { -- Armor types ["Cloth"] = 56, ["Leather"] = 57, ["Mail"] = 58, @@ -2123,6 +2133,21 @@ do ["Ammo"] = 78, ["Fist"] = 79, ["Gun"] = 80, } + local ORDERED_ITEM_TYPES = { + -- Armor types + [1] = "Cloth", [2] = "Leather", [3] = "Mail", + [4] = "Plate", [5] = "Cloak", [6] = "Trinket", + [7] = "Ring", [8] = "Necklace", [9] = "Shield", + [10] = "RESERVED2", + + -- Weapon types + [11] = "OneHanded", [12] = "TwoHanded", [13] = "Axe", + [14] = "Sword", [15] = "Mace", [16] = "Polearm", + [17] = "Dagger", [18] = "Staff", [19] = "Wand", + [20] = "Thrown", [21] = "Bow", [22] = "CrossBow", + [23] = "Ammo", [24] = "Fist", [25] = "Gun", + } + -- Table to store scanned information. Wiped and re-used every scan. local scan_data = {} @@ -2137,7 +2162,6 @@ do scan_data.match_name = name scan_data.recipe_list = recipe_list scan_data.reverse_lookup = reverse_lookup - scan_data.recipe_found = false local num_lines = ARLDatamineTT:NumLines() @@ -2372,11 +2396,11 @@ do -- If we've picked up at least one class flag if ((scan_data.Deathknight) or (scan_data.Druid) or (scan_data.Hunter) or (scan_data.Mage) or (scan_data.Paladin) or (scan_data.Priest) or (scan_data.Shaman) or (scan_data.Warlock) or (scan_data.Warrior)) then - for k, v in pairs(CLASS_TYPES) do - if scan_data[k] and not flags[v] then - tinsert(missing_flags, tostring(v).." ("..k..")") - elseif not scan_data[k] and flags[v] then - tinsert(extra_flags, tostring(v).." ("..k..")") + for k, v in ipairs(ORDERED_CLASS_TYPES) do + if scan_data[v] and not flags[CLASS_TYPES[v]] then + tinsert(missing_flags, tostring(CLASS_TYPES[v]).." ("..v..")") + elseif not scan_data[v] and flags[CLASS_TYPES[v]] then + tinsert(extra_flags, tostring(CLASS_TYPES[v]).." ("..v..")") end end else -- Recipe is not class specific @@ -2415,43 +2439,43 @@ do -- BoP Recipe if (scan_data.boprecipe) and (not flags[41]) then - tinsert(missing_flags, "41") + tinsert(missing_flags, "41 (BoP Recipe)") -- If it's a BoP recipe and flags BoE is set, mark it as extra if (flags[40]) then - tinsert(extra_flags, "40") + tinsert(extra_flags, "40 (BoE Recipe)") end -- If it's a BoP recipe and flags BoA is set, mark it as extra if (flags[42]) then - tinsert(extra_flags, "42") + tinsert(extra_flags, "42 (BoA Recipe)") end -- Not BoP recipe, assuming it's not BoA elseif (not flags[40]) and (not scan_data.boprecipe) then - tinsert(missing_flags, "40") + tinsert(missing_flags, "40 (BoE Recipe)") -- If it's a BoE recipe and flags BoP is set, mark it as extra if (flags[41]) then - tinsert(extra_flags, "41") + tinsert(extra_flags, "41 (BoP Recipe)") end -- If it's a BoE recipe and flags BoA is set, mark it as extra if (flags[42]) then - tinsert(extra_flags, "42") + tinsert(extra_flags, "42 (BoA Recipe)") end end - for k, v in pairs(ROLE_TYPES) do - if scan_data[k] and not flags[v] then - tinsert(missing_flags, tostring(v).." ("..k..")") - elseif not scan_data[k] and flags[v] then - tinsert(extra_flags, tostring(v).." ("..k..")") + for k, v in ipairs(ORDERED_ROLE_TYPES) do + if scan_data[v] and not flags[ROLE_TYPES[v]] then + tinsert(missing_flags, tostring(ROLE_TYPES[v]).." ("..v..")") + elseif not scan_data[v] and flags[ROLE_TYPES[v]] then + tinsert(extra_flags, tostring(ROLE_TYPES[v]).." ("..v..")") end end - for k, v in pairs(ITEM_TYPES) do - if scan_data[k] and not flags[v] then - tinsert(missing_flags, tostring(v).." ("..k..")") - elseif not scan_data[k] and flags[v] then - tinsert(extra_flags, tostring(v).." ("..k..")") + for k, v in ipairs(ORDERED_ITEM_TYPES) do + if scan_data[v] and not flags[ITEM_TYPES[v]] then + tinsert(missing_flags, tostring(ITEM_TYPES[v]).." ("..v..")") + elseif not scan_data[v] and flags[ITEM_TYPES[v]] then + tinsert(extra_flags, tostring(ITEM_TYPES[v]).." ("..v..")") end end @@ -2474,13 +2498,13 @@ do end if (not scan_data.tank) and (not scan_data.healer) and (not scan_data.caster) and (not scan_data.dps) then - self:Print("No player type flag.") + self:Print("No player role flag.") end local count = 0 - for k, v in pairs(ITEM_TYPES) do - if scan_data[k] then + for k, v in ipairs(ORDERED_ITEM_TYPES) do + if scan_data[v] then count = count + 1 end end diff --git a/RecipeDB/ARL-Vendor.lua b/RecipeDB/ARL-Vendor.lua index b7c4e96..d3ebe1b 100644 --- a/RecipeDB/ARL-Vendor.lua +++ b/RecipeDB/ARL-Vendor.lua @@ -129,7 +129,7 @@ function addon:InitVendor(VendorDB) self:addLookupList(VendorDB,3522,L["Constance Brisboise"],BZONE["Tirisfal Glades"],52.53,55.66,2) self:addLookupList(VendorDB,3537,L["Zixil"],BZONE["Hillsbrad Foothills"],56.42,30.60,0) self:addLookupList(VendorDB,3550,L["Martine Tramblay"],BZONE["Tirisfal Glades"],66.02,59.23,2) - self:addLookupList(VendorDB,3556,L["Andrew Hilbert"],BZONE["Silverpine Forest"],43.35,41.12,2) + self:addLookupList(VendorDB,3556,L["Andrew Hilbert"],BZONE["Silverpine Forest"],43.22,40.67,2) self:addLookupList(VendorDB,3683,L["Kiknikle"],BZONE["The Barrens"],42.30,38.62,0) self:addLookupList(VendorDB,3881,L["Grimtak"],BZONE["Durotar"],52.17,42.26,2) self:addLookupList(VendorDB,3954,L["Dalria"],BZONE["Ashenvale"],35.28,52.03,1) -- 1.7.9.5