# HG changeset patch # User Yellowfive # Date 1608227826 21600 # Node ID 23b740b4c93a3df155047f776d368e29d1a6408b # Parent b4f74de03b43b43df634d3e58c957ee4315e5812 Added Great Vault export. diff -r b4f74de03b43 -r 23b740b4c93a AskMrRobot-Serializer/AskMrRobot-Serializer.lua --- a/AskMrRobot-Serializer/AskMrRobot-Serializer.lua Tue Nov 24 16:20:29 2020 -0600 +++ b/AskMrRobot-Serializer/AskMrRobot-Serializer.lua Thu Dec 17 11:57:06 2020 -0600 @@ -1,6 +1,6 @@ -- AskMrRobot-Serializer will serialize and communicate character data between users. -local MAJOR, MINOR = "AskMrRobot-Serializer", 95 +local MAJOR, MINOR = "AskMrRobot-Serializer", 96 local Amr, oldminor = LibStub:NewLibrary(MAJOR, MINOR) if not Amr then return end -- already loaded by something else @@ -820,7 +820,18 @@ end table.insert(fields, ".inv") - appendItemsToExport(fields, itemObjects) + appendItemsToExport(fields, itemObjects) + + if data.GreatVaultItems then + itemObjects = {} + for i, itemData in ipairs(data.GreatVaultItems) do + if itemData then + table.insert(itemObjects, itemData) + end + end + table.insert(fields, ".gv") + appendItemsToExport(fields, itemObjects) + end end return "$" .. table.concat(fields, ";") .. "$" diff -r b4f74de03b43 -r 23b740b4c93a AskMrRobot.toc --- a/AskMrRobot.toc Tue Nov 24 16:20:29 2020 -0600 +++ b/AskMrRobot.toc Thu Dec 17 11:57:06 2020 -0600 @@ -1,7 +1,7 @@ ## Interface: 90002 ## Title: Ask Mr. Robot ## Author: Team Robot, Inc. -## Version: 95 +## Version: 96 ## Notes: Gear import/export, combat logging, and more. ## URL: www.askmrrobot.com ## SavedVariables: AskMrRobotDb4 diff -r b4f74de03b43 -r 23b740b4c93a Core.lua --- a/Core.lua Tue Nov 24 16:20:29 2020 -0600 +++ b/Core.lua Thu Dec 17 11:57:06 2020 -0600 @@ -53,7 +53,8 @@ BagItems = {}, -- list of item info for bags BankItems = {}, -- list of item info for bank BagItemsAndCounts = {}, -- used mainly for the shopping list - BankItemsAndCounts = {}, -- used mainly for the shopping list + BankItemsAndCounts = {}, -- used mainly for the shopping list + GreatVaultItems = {}, -- available weekly rewards from the great vault GearSetups = {}, -- imported gear sets JunkData = {}, -- imported data about items that can be vendored/scrapped/disenchanted ExtraEnchantData = {}, -- enchant id to enchant display information and material information @@ -715,4 +716,5 @@ --local info = C_LegendaryCrafting.GetRuneforgePowerInfo(30) --print(Amr:dump(info)) + end diff -r b4f74de03b43 -r 23b740b4c93a Export.lua --- a/Export.lua Tue Nov 24 16:20:29 2020 -0600 +++ b/Export.lua Thu Dec 17 11:57:06 2020 -0600 @@ -267,6 +267,32 @@ end ]] +local function scanGreatVault() + + Amr.db.char.GreatVaultItems = {} + + if not C_WeeklyRewards then return end + + local vaultItems = {} + local activities = C_WeeklyRewards.GetActivities() + for i, activityInfo in ipairs(activities) do + if activityInfo and activityInfo.rewards then + for i, rewardInfo in ipairs(activityInfo.rewards) do + if rewardInfo.type == Enum.CachedRewardType.Item and not C_Item.IsItemKeystoneByID(rewardInfo.id) then + local itemLink = C_WeeklyRewards.GetItemHyperlink(rewardInfo.itemDBID) + if itemLink then + local itemData = Amr.Serializer.ParseItemLink(itemLink) + if itemData ~= nil then + table.insert(vaultItems, itemData) + end + end + end + end + end + end + Amr.db.char.GreatVaultItems = vaultItems +end + local function scanSoulbinds() if not C_Soulbinds then return end @@ -416,6 +442,9 @@ -- scan current spec's essences just before exporting --scanEssences() + -- scan the great vault for potential rewards this week + scanGreatVault() + data.Talents = Amr.db.char.Talents data.UnlockedConduits = Amr.db.char.UnlockedConduits data.ActiveSoulbinds = Amr.db.char.ActiveSoulbinds @@ -424,6 +453,7 @@ --data.Essences = Amr.db.char.Essences data.Equipped = Amr.db.char.Equipped data.BagItems = Amr.db.char.BagItems + data.GreatVaultItems = Amr.db.char.GreatVaultItems -- flatten bank data (which is stored by bag for more efficient updating) data.BankItems = {}