comparison Main.lua @ 220:62434c87d375

Handle recording of reforged items which have an upgrade ID.
author James D. Callahan III <jcallahan@curse.com>
date Fri, 25 Jan 2013 16:37:13 -0600
parents 09d8ee2c1551
children 9dca914cbd13
comparison
equal deleted inserted replaced
219:09d8ee2c1551 220:62434c87d375
801 801
802 local ScrapeItemUpgradeStats 802 local ScrapeItemUpgradeStats
803 do 803 do
804 local intermediary = {} 804 local intermediary = {}
805 805
806 function ScrapeItemUpgradeStats(item_id, item_link, upgrade_id) 806 function ScrapeItemUpgradeStats(item_id, upgrade_id, reforge_id)
807 if not ALLOWED_LOCALES[CLIENT_LOCALE] then
808 return
809 end
807 local create_entry 810 local create_entry
808 811
809 table.wipe(intermediary) 812 table.wipe(intermediary)
810 DatamineTT:SetHyperlink(item_link)
811 813
812 for line_index = 1, DatamineTT:NumLines() do 814 for line_index = 1, DatamineTT:NumLines() do
813 local left_text = _G["WDPDatamineTTTextLeft" .. line_index]:GetText() 815 local left_text = _G["WDPDatamineTTTextLeft" .. line_index]:GetText()
814 816
815 if not left_text then 817 if not left_text then
816 return 818 return
817 end 819 end
818 local amount, stat = left_text:match("+(.-) (.*)") 820 local amount, stat = left_text:match("+(.-) (.*)")
819 821
820 if amount and stat then 822 if amount and stat then
821 if stat:find("Reforged") then 823 if reforge_id and reforge_id ~= 0 then
822 return 824 local reforge_string = stat:find("Reforged")
825
826 if reforge_string then
827 stat = stat:sub(0, reforge_string - 3)
828 intermediary.reforge_id = reforge_id
829 end
823 end 830 end
824 create_entry = true 831 create_entry = true
825 intermediary[stat:lower():gsub(" ", "_"):gsub("|r", "")] = tonumber(amount) 832 intermediary[stat:lower():gsub(" ", "_"):gsub("|r", "")] = tonumber(amount)
826 end 833 end
827 end 834 end
835 842
836 for stat, amount in pairs(intermediary) do 843 for stat, amount in pairs(intermediary) do
837 item.upgrades[upgrade_id][stat] = amount 844 item.upgrades[upgrade_id][stat] = amount
838 end 845 end
839 end 846 end
840 end -- do-block 847 end
848
849 -- do-block
841 850
842 851
843 local function RecordItemData(item_id, item_link, durability) 852 local function RecordItemData(item_id, item_link, durability)
844 local item_string = select(3, item_link:find("^|%x+|H(.+)|h%[.+%]")) 853 local item_string = select(3, item_link:find("^|%x+|H(.+)|h%[.+%]"))
845 local item 854 local item
846 855
847 if item_string then 856 if item_string then
848 local _, _, _, _, _, _, _, suffix_id, unique_id, _, _, upgrade_id = (":"):split(item_string) 857 local _, _, _, _, _, _, _, suffix_id, unique_id, _, reforge_id, upgrade_id = (":"):split(item_string)
849 suffix_id = tonumber(suffix_id) 858 suffix_id = tonumber(suffix_id)
850 upgrade_id = tonumber(upgrade_id) 859 upgrade_id = tonumber(upgrade_id)
851 860
852 if suffix_id and suffix_id ~= 0 then 861 if suffix_id and suffix_id ~= 0 then
853 item = DBEntry("items", item_id) 862 item = DBEntry("items", item_id)
854 item.suffix_id = suffix_id 863 item.suffix_id = suffix_id
855 item.unique_id = bit.band(unique_id, 0xFFFF) 864 item.unique_id = bit.band(unique_id, 0xFFFF)
856 end 865 end
857 866
858 if upgrade_id and upgrade_id ~= 0 then 867 if upgrade_id and upgrade_id ~= 0 then
859 ScrapeItemUpgradeStats(item_id, item_link, upgrade_id) 868 DatamineTT:SetHyperlink(item_link)
869 ScrapeItemUpgradeStats(item_id, upgrade_id, reforge_id)
860 end 870 end
861 end 871 end
862 872
863 if durability and durability > 0 then 873 if durability and durability > 0 then
864 item = item or DBEntry("items", item_id) 874 item = item or DBEntry("items", item_id)