Mercurial > wow > askmrrobot
comparison AskMrRobot.lua @ 31:44c285acfff0 v8
fixed item display bug on summary tab
author | yellowfive |
---|---|
date | Sat, 18 Oct 2014 10:33:33 -0700 |
parents | aabec73640a0 |
children | 4ba69d2ee252 |
comparison
equal
deleted
inserted
replaced
30:55906ac875ae | 31:44c285acfff0 |
---|---|
33 AskMrRobot.eventListener:RegisterEvent("VOID_STORAGE_UPDATE") | 33 AskMrRobot.eventListener:RegisterEvent("VOID_STORAGE_UPDATE") |
34 | 34 |
35 AskMrRobot.AddonName = ... | 35 AskMrRobot.AddonName = ... |
36 AskMrRobot.ChatPrefix = "_AMR" | 36 AskMrRobot.ChatPrefix = "_AMR" |
37 | 37 |
38 -- flag to turn on debugging behavior | |
39 AskMrRobot.debug = false | |
40 | |
38 -- the main user interface window | 41 -- the main user interface window |
39 AskMrRobot.mainWindow = nil | 42 AskMrRobot.mainWindow = nil |
40 | 43 |
41 local _amrLDB | 44 local _amrLDB |
42 local _minimapIcon | 45 local _minimapIcon |
448 | 451 |
449 function AskMrRobot.GetCurrencies() | 452 function AskMrRobot.GetCurrencies() |
450 local currencies = {}; | 453 local currencies = {}; |
451 currencies[-1] = GetMoney() | 454 currencies[-1] = GetMoney() |
452 | 455 |
453 local currencyList = {61, 81, 241, 361, 384, 394, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 416, 515, 614, 615, 676, 679} | 456 local currencyList = {61, 81, 241, 361, 384, 394, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 416, 515, 614, 615, 676, 679, 823} |
454 for i, currency in pairs(currencyList) do | 457 for i, currency in pairs(currencyList) do |
455 local amount = getCurrencyAmount(currency) | 458 local amount = getCurrencyAmount(currency) |
456 if amount ~= 0 then | 459 if amount ~= 0 then |
457 currencies[currency] = amount | 460 currencies[currency] = amount |
458 end | 461 end |
801 local MIN_IMPORT_VERSION = 2 | 804 local MIN_IMPORT_VERSION = 2 |
802 | 805 |
803 -- | 806 -- |
804 -- Import a character, returning nil on success, otherwise an error message, import result stored in AskMrRobot.ImportData | 807 -- Import a character, returning nil on success, otherwise an error message, import result stored in AskMrRobot.ImportData |
805 -- | 808 -- |
806 function AskMrRobot.ImportCharacter(data) | 809 function AskMrRobot.ImportCharacter(data, isTest) |
807 | 810 |
808 -- make sure all data is up to date before importing | 811 -- make sure all data is up to date before importing |
809 AskMrRobot.SaveAll() | 812 AskMrRobot.SaveAll() |
810 | 813 |
811 if data == nil or string.len(data) == 0 then | 814 if data == nil or string.len(data) == 0 then |
824 if ver < MIN_IMPORT_VERSION then | 827 if ver < MIN_IMPORT_VERSION then |
825 return L.AMR_IMPORT_ERROR_VERSION | 828 return L.AMR_IMPORT_ERROR_VERSION |
826 end | 829 end |
827 | 830 |
828 -- require realm/name match | 831 -- require realm/name match |
829 local realm = parts[2] | 832 if not isTest then |
830 local name = parts[3] | 833 local realm = parts[2] |
831 if name ~= AmrDb.CharacterName then | 834 local name = parts[3] |
832 local badPers = name .. " (" .. realm .. ")" | 835 if name ~= AmrDb.CharacterName then |
833 local goodPers = AmrDb.CharacterName .. " (" .. AmrDb.RealmName .. ")" | 836 local badPers = name .. " (" .. realm .. ")" |
834 return L.AMR_IMPORT_ERROR_CHAR:format(badPers, goodPers) | 837 local goodPers = AmrDb.CharacterName .. " (" .. AmrDb.RealmName .. ")" |
835 end | 838 return L.AMR_IMPORT_ERROR_CHAR:format(badPers, goodPers) |
836 | 839 end |
837 -- require race match | 840 |
838 local race = tonumber(parts[5]) | 841 -- require race match |
839 if race ~= AskMrRobot.raceIds[AmrDb.Race] then | 842 local race = tonumber(parts[5]) |
840 return L.AMR_IMPORT_ERROR_RACE | 843 if race ~= AskMrRobot.raceIds[AmrDb.Race] then |
841 end | 844 return L.AMR_IMPORT_ERROR_RACE |
842 | 845 end |
843 -- require faction match | 846 |
844 local faction = tonumber(parts[6]) | 847 -- require faction match |
845 if faction ~= AskMrRobot.factionIds[AmrDb.Faction] then | 848 local faction = tonumber(parts[6]) |
846 return L.AMR_IMPORT_ERROR_FACTION | 849 if faction ~= AskMrRobot.factionIds[AmrDb.Faction] then |
847 end | 850 return L.AMR_IMPORT_ERROR_FACTION |
848 | 851 end |
849 -- require level match | 852 |
850 local level = tonumber(parts[7]) | 853 -- require level match |
851 if level ~= AmrDb.Level then | 854 local level = tonumber(parts[7]) |
852 return L.AMR_IMPORT_ERROR_LEVEL | 855 if level ~= AmrDb.Level then |
853 end | 856 return L.AMR_IMPORT_ERROR_LEVEL |
854 | 857 end |
855 -- require spec match | 858 |
856 local spec = tonumber(parts[11]) | 859 -- require spec match |
857 if spec ~= AmrDb.Specs[AmrDb.ActiveSpec] then | 860 local spec = tonumber(parts[11]) |
858 print(AmrDb.ActiveSpec) | 861 if spec ~= AmrDb.Specs[AmrDb.ActiveSpec] then |
859 print(spec) | 862 print(AmrDb.ActiveSpec) |
860 print(AmrDb.Specs[AmrDb.ActiveSpec]) | 863 print(spec) |
861 local _, specName = GetSpecializationInfoByID(AskMrRobot.gameSpecIds[spec]) | 864 print(AmrDb.Specs[AmrDb.ActiveSpec]) |
862 return L.AMR_IMPORT_ERROR_SPEC:format(specName) | 865 local _, specName = GetSpecializationInfoByID(AskMrRobot.gameSpecIds[spec]) |
863 end | 866 return L.AMR_IMPORT_ERROR_SPEC:format(specName) |
864 | 867 end |
865 -- require talent match | 868 |
866 local talents = parts[12] | 869 -- require talent match |
867 if talents ~= AmrDb.Talents[AmrDb.ActiveSpec] then | 870 local talents = parts[12] |
868 return L.AMR_IMPORT_ERROR_TALENT | 871 if talents ~= AmrDb.Talents[AmrDb.ActiveSpec] then |
869 end | 872 return L.AMR_IMPORT_ERROR_TALENT |
870 | 873 end |
871 -- require glyph match | 874 |
872 -- TODO: re-enable this check when glyphs are more consistent | 875 -- require glyph match |
873 --local glyphs = parts[13] | 876 -- TODO: re-enable this check when glyphs are more consistent |
874 --if glyphs ~= AskMrRobot.toCompressedNumberList(AmrDb.Glyphs[AmrDb.ActiveSpec]) then | 877 --local glyphs = parts[13] |
875 -- return L.AMR_IMPORT_ERROR_GLYPH | 878 --if glyphs ~= AskMrRobot.toCompressedNumberList(AmrDb.Glyphs[AmrDb.ActiveSpec]) then |
876 --end | 879 -- return L.AMR_IMPORT_ERROR_GLYPH |
880 --end | |
881 end | |
882 | |
877 | 883 |
878 -- if we make it this far, the data is valid, so read item information | 884 -- if we make it this far, the data is valid, so read item information |
879 local importData = {} | 885 local importData = {} |
880 | 886 |
881 local itemInfo = {} | 887 local itemInfo = {} |
1043 enchantInfo[enchObj.id] = enchObj | 1049 enchantInfo[enchObj.id] = enchObj |
1044 | 1050 |
1045 end | 1051 end |
1046 end | 1052 end |
1047 | 1053 |
1048 -- we have succeeded, record the result | 1054 if isTest then |
1049 AskMrRobot.ImportData = importData | 1055 -- print result for debugging |
1050 AskMrRobot.ExtraItemData = itemInfo | 1056 local blah = importData[1] |
1051 AskMrRobot.ExtraGemData = gemInfo | 1057 local name, link = GetItemInfo(AskMrRobot.createItemLink(blah)) |
1052 AskMrRobot.ExtraEnchantData = enchantInfo | 1058 print(link) |
1053 | 1059 |
1054 AmrDb.LastCharacterImport = data | 1060 else |
1055 AmrDb.LastCharacterImportDate = date() | 1061 -- we have succeeded, record the result |
1056 end | 1062 AskMrRobot.ImportData = importData |
1063 AskMrRobot.ExtraItemData = itemInfo | |
1064 AskMrRobot.ExtraGemData = gemInfo | |
1065 AskMrRobot.ExtraEnchantData = enchantInfo | |
1066 | |
1067 AmrDb.LastCharacterImport = data | |
1068 AmrDb.LastCharacterImportDate = date() | |
1069 end | |
1070 end |