Mercurial > wow > askmrrobot
comparison AskMrRobot.lua @ 21:a400b906acca v4
Version 4: fixed an issue with the bank. Added Void Storage. Added Reagent Bank.
Also removed stackable items from the export string
| author | Adam tegen <adam.tegen@gmail.com> |
|---|---|
| date | Wed, 15 Oct 2014 08:38:53 -0500 |
| parents | e77e01abce98 |
| children | 3af56b6545e0 |
comparison
equal
deleted
inserted
replaced
| 20:e6cd96d23c5a | 21:a400b906acca |
|---|---|
| 25 AskMrRobot.eventListener:RegisterEvent("PLAYER_REGEN_DISABLED") | 25 AskMrRobot.eventListener:RegisterEvent("PLAYER_REGEN_DISABLED") |
| 26 --AskMrRobot.eventListener:RegisterEvent("ENCOUNTER_START") | 26 --AskMrRobot.eventListener:RegisterEvent("ENCOUNTER_START") |
| 27 AskMrRobot.eventListener:RegisterEvent("CHAT_MSG_ADDON") | 27 AskMrRobot.eventListener:RegisterEvent("CHAT_MSG_ADDON") |
| 28 AskMrRobot.eventListener:RegisterEvent("UPDATE_INSTANCE_INFO") | 28 AskMrRobot.eventListener:RegisterEvent("UPDATE_INSTANCE_INFO") |
| 29 AskMrRobot.eventListener:RegisterEvent("PLAYER_DIFFICULTY_CHANGED") | 29 AskMrRobot.eventListener:RegisterEvent("PLAYER_DIFFICULTY_CHANGED") |
| 30 AskMrRobot.eventListener:RegisterEvent("VOID_STORAGE_OPEN") | |
| 31 AskMrRobot.eventListener:RegisterEvent("VOID_STORAGE_CONTENTS_UPDATE") | |
| 32 AskMrRobot.eventListener:RegisterEvent("PLAYER_DIFFICULTY_CHANGED") | |
| 33 AskMrRobot.eventListener:RegisterEvent("VOID_STORAGE_UPDATE") | |
| 30 | 34 |
| 31 AskMrRobot.AddonName = ... | 35 AskMrRobot.AddonName = ... |
| 32 AskMrRobot.ChatPrefix = "_AMR" | 36 AskMrRobot.ChatPrefix = "_AMR" |
| 33 | 37 |
| 34 -- the main user interface window | 38 -- the main user interface window |
| 39 | 43 |
| 40 function AskMrRobot.eventListener:OnEvent(event, ...) | 44 function AskMrRobot.eventListener:OnEvent(event, ...) |
| 41 if event == "ADDON_LOADED" then | 45 if event == "ADDON_LOADED" then |
| 42 local addon = select(1, ...) | 46 local addon = select(1, ...) |
| 43 if (addon == "AskMrRobot") then | 47 if (addon == "AskMrRobot") then |
| 44 --print(L.AMR_ON_EVENT_LOADED:format(GetAddOnMetadata(AskMrRobot.AddonName, "Version"))) | |
| 45 | |
| 46 AskMrRobot.InitializeSettings() | 48 AskMrRobot.InitializeSettings() |
| 47 AskMrRobot.InitializeMinimap() | 49 AskMrRobot.InitializeMinimap() |
| 48 | 50 |
| 49 -- listen for messages from other AMR addons | 51 -- listen for messages from other AMR addons |
| 50 RegisterAddonMessagePrefix(AskMrRobot.ChatPrefix) | 52 RegisterAddonMessagePrefix(AskMrRobot.ChatPrefix) |
| 64 --AskMrRonot.GetCurrencies(); | 66 --AskMrRonot.GetCurrencies(); |
| 65 --AskMrRobot.GetGold(); | 67 --AskMrRobot.GetGold(); |
| 66 | 68 |
| 67 elseif event == "BANKFRAME_OPENED" or event == "PLAYERBANKSLOTS_CHANGED" then | 69 elseif event == "BANKFRAME_OPENED" or event == "PLAYERBANKSLOTS_CHANGED" then |
| 68 AskMrRobot.ScanBank(); | 70 AskMrRobot.ScanBank(); |
| 69 | 71 elseif event == "VOID_STORAGE_OPEN" or event == "VOID_STORAGE_CONTENTS_UPDATE" or event == "VOID_STORAGE_DEPOSIT_UPDATE" or event == "VOID_STORAGE_UPDATE" then |
| 72 AskMrRobot.ScanVoidStorage(); | |
| 70 elseif event == "CHARACTER_POINTS_CHANGED" or event == "CONFIRM_TALENT_WIPE" or event == "PLAYER_TALENT_UPDATE" or event == "ACTIVE_TALENT_GROUP_CHANGED" then | 73 elseif event == "CHARACTER_POINTS_CHANGED" or event == "CONFIRM_TALENT_WIPE" or event == "PLAYER_TALENT_UPDATE" or event == "ACTIVE_TALENT_GROUP_CHANGED" then |
| 71 --AskMrRobot.GetAmrSpecializations(); | 74 --AskMrRobot.GetAmrSpecializations(); |
| 72 --if AskMrRobot_ReforgeFrame then | 75 --if AskMrRobot_ReforgeFrame then |
| 73 -- AskMrRobot_ReforgeFrame:OnUpdate() | 76 -- AskMrRobot_ReforgeFrame:OnUpdate() |
| 74 --end | 77 --end |
| 251 end | 254 end |
| 252 | 255 |
| 253 | 256 |
| 254 function AskMrRobot.SaveAll() | 257 function AskMrRobot.SaveAll() |
| 255 AskMrRobot.ScanCharacter() | 258 AskMrRobot.ScanCharacter() |
| 256 AskMrRobot.ScanBank() | |
| 257 AskMrRobot.ScanBags() | 259 AskMrRobot.ScanBags() |
| 258 AskMrRobot.ScanEquipped() | 260 AskMrRobot.ScanEquipped() |
| 259 AskMrRobot.GetCurrencies() | 261 AskMrRobot.GetCurrencies() |
| 260 AskMrRobot.GetReputations() | 262 AskMrRobot.GetReputations() |
| 261 AskMrRobot.GetSpecs() | 263 AskMrRobot.GetSpecs() |
| 371 end | 373 end |
| 372 end | 374 end |
| 373 end | 375 end |
| 374 end | 376 end |
| 375 | 377 |
| 376 function AskMrRobot.ScanBank(bankItemsWithCount) | 378 function AskMrRobot.ScanBank() |
| 379 --REAGENTBANK_CONTAINER (-3) | |
| 377 local bankItems = {} | 380 local bankItems = {} |
| 378 local bankItemsAndCounts = {} | 381 local bankItemsAndCounts = {} |
| 379 | 382 |
| 380 scanBag(BANK_CONTAINER, true, bankItems, bankItemsAndCounts) | 383 scanBag(BANK_CONTAINER, true, bankItems, bankItemsAndCounts) |
| 384 scanBag(REAGENTBANK_CONTAINER, true, bankItems, bankItemsAndCounts) | |
| 381 for bagId = NUM_BAG_SLOTS + 1, NUM_BAG_SLOTS + NUM_BANKBAGSLOTS do | 385 for bagId = NUM_BAG_SLOTS + 1, NUM_BAG_SLOTS + NUM_BANKBAGSLOTS do |
| 382 scanBag(bagId, true, bankItems, bankItemsAndCounts) | 386 scanBag(bagId, true, bankItems, bankItemsAndCounts) |
| 383 end | 387 end |
| 384 | 388 |
| 385 -- see if the scan completed before the window closed, otherwise we don't overwrite with partial data | 389 -- see if the scan completed before the window closed, otherwise we don't overwrite with partial data |
| 387 local itemLink = GetContainerItemLink(_lastBankBagId, _lastBankSlotId) | 391 local itemLink = GetContainerItemLink(_lastBankBagId, _lastBankSlotId) |
| 388 if itemLink ~= nil then --still open | 392 if itemLink ~= nil then --still open |
| 389 AmrDb.BankItems = bankItems | 393 AmrDb.BankItems = bankItems |
| 390 AmrDb.BankItemsAndCounts = bankItemsAndCounts | 394 AmrDb.BankItemsAndCounts = bankItemsAndCounts |
| 391 end | 395 end |
| 396 end | |
| 397 end | |
| 398 | |
| 399 function AskMrRobot.ScanVoidStorage() | |
| 400 if IsVoidStorageReady() then | |
| 401 local voidItems = {} | |
| 402 local VOID_STORAGE_MAX = 80 | |
| 403 local VOID_STORAGE_PAGES = 2 | |
| 404 local i | |
| 405 for page = 1,VOID_STORAGE_PAGES do | |
| 406 for i = 1,VOID_STORAGE_MAX do | |
| 407 local itemId = GetVoidItemInfo(page, i) | |
| 408 if itemId then | |
| 409 local itemLink = GetVoidItemHyperlinkString(page, i); | |
| 410 if itemLink then | |
| 411 tinsert(voidItems, itemLink) | |
| 412 end | |
| 413 end | |
| 414 end | |
| 415 end | |
| 416 AmrDb.VoidItems = voidItems | |
| 392 end | 417 end |
| 393 end | 418 end |
| 394 | 419 |
| 395 function AskMrRobot.ScanBags(bagItemsWithCount) | 420 function AskMrRobot.ScanBags(bagItemsWithCount) |
| 396 local bagItems = {} | 421 local bagItems = {} |
| 691 | 716 |
| 692 -- export bag and bank | 717 -- export bag and bank |
| 693 local itemObjects = {} | 718 local itemObjects = {} |
| 694 if AmrDb.BagItems then | 719 if AmrDb.BagItems then |
| 695 for i, v in ipairs(AmrDb.BagItems) do | 720 for i, v in ipairs(AmrDb.BagItems) do |
| 696 local itemData = AskMrRobot.parseItemLink(v) | 721 local _,_,_,_,_,_,_,stackCount = GetItemInfo(v) |
| 697 if itemData ~= nil then | 722 if stackCount == 1 then |
| 698 table.insert(itemObjects, itemData) | 723 local itemData = AskMrRobot.parseItemLink(v) |
| 699 end | 724 if itemData ~= nil then |
| 725 table.insert(itemObjects, itemData) | |
| 726 end | |
| 727 end | |
| 700 end | 728 end |
| 701 end | 729 end |
| 702 if AmrDb.BankItems then | 730 if AmrDb.BankItems then |
| 703 for i, v in ipairs(AmrDb.BankItems) do | 731 for i, v in ipairs(AmrDb.BankItems) do |
| 704 local itemData = AskMrRobot.parseItemLink(v) | 732 local _,_,_,_,_,_,_,stackCount = GetItemInfo(v) |
| 705 if itemData ~= nil then | 733 if stackCount == 1 then |
| 706 table.insert(itemObjects, itemData) | 734 local itemData = AskMrRobot.parseItemLink(v) |
| 735 if itemData ~= nil then | |
| 736 table.insert(itemObjects, itemData) | |
| 737 end | |
| 707 end | 738 end |
| 708 end | 739 end |
| 740 end | |
| 741 if AmrDb.VoidItems then | |
| 742 for i, v in ipairs(AmrDb.VoidItems) do | |
| 743 local _,_,_,_,_,_,_,stackCount = GetItemInfo(v) | |
| 744 if stackCount == 1 then | |
| 745 local itemData = AskMrRobot.parseItemLink(v) | |
| 746 if itemData ~= nil then | |
| 747 table.insert(itemObjects, itemData) | |
| 748 end | |
| 749 end | |
| 750 end | |
| 709 end | 751 end |
| 710 | 752 |
| 711 table.insert(fields, ".inv") | 753 table.insert(fields, ".inv") |
| 712 appendItemsToExport(fields, itemObjects) | 754 appendItemsToExport(fields, itemObjects) |
| 713 end | 755 end |
