diff --git a/AdiBags.toc b/AdiBags.toc index a439078..6f58536 100644 --- a/AdiBags.toc +++ b/AdiBags.toc @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with AdiBags. If not, see . -## Interface: 110000 +## Interface: 110002 ## Title: AdiBags ## Notes: Adirelle's bag addon. diff --git a/AdiBags_Config/AdiBags_Config.toc b/AdiBags_Config/AdiBags_Config.toc index 2e453d2..53c4918 100644 --- a/AdiBags_Config/AdiBags_Config.toc +++ b/AdiBags_Config/AdiBags_Config.toc @@ -1,4 +1,4 @@ -## Interface: 110000 +## Interface: 110002 ## Title: AdiBags Configuration ## Notes: Adirelle's bag addon. diff --git a/Annotations.lua b/Annotations.lua index 637f0b6..d3584df 100644 --- a/Annotations.lua +++ b/Annotations.lua @@ -93,11 +93,11 @@ _G.InterfaceOptions_AddCategory = function(frame, addOn, position) end ---@field isBank boolean Whether the item is in the player's bank. ---@field item ItemInfo The item information for the item in the bag slot. ----@class ItemInfo ItemInfo is constructed by GetItemInfo(), with some additional fields for use in AdiBags. +---@class ItemInfo ItemInfo is constructed by C_Item.GetItemInfo(), with some additional fields for use in AdiBags. ---@field itemName string The localized name of the item. ---@field itemLink string The localized link of the item. ---@field itemQuality Enum.ItemQuality The item quality, i.e. 1 for common, 2 for uncommon, etc. ----@field itemLevel number The base item level, not including upgrades. See GetDetailedItemLevelInfo() for getting the actual item level. +---@field itemLevel number The base item level, not including upgrades. See C_Item.GetDetailedItemLevelInfo() for getting the actual item level. ---@field itemMinLevel number The minimum level required to use the item, or 0 if there is no level requirement. ---@field itemType string The localized type name of the item: Armor, Weapon, Quest, etc. ---@field itemSubType string The localized sub-type name of the item: Bows, Guns, Staves, etc. diff --git a/core/Constants.lua b/core/Constants.lua index f4970b0..570133f 100644 --- a/core/Constants.lua +++ b/core/Constants.lua @@ -86,7 +86,7 @@ addon.EXPANSION_MAP = { [_G.LE_EXPANSION_CLASSIC] = _G.EXPANSION_NAME0, [_G.LE_EXPANSION_BURNING_CRUSADE] = _G.EXPANSION_NAME1 } -if addon.isRetail or addon.isWrath then +if addon.isRetail or addon.isWrath or addon.isCata then addon.EXPANSION_MAP[_G.LE_EXPANSION_WRATH_OF_THE_LICH_KING] = _G.EXPANSION_NAME2 addon.EXPANSION_MAP[_G.LE_EXPANSION_CATACLYSM] = _G.EXPANSION_NAME3 addon.EXPANSION_MAP[_G.LE_EXPANSION_MISTS_OF_PANDARIA] = _G.EXPANSION_NAME4 @@ -94,10 +94,11 @@ if addon.isRetail or addon.isWrath then addon.EXPANSION_MAP[_G.LE_EXPANSION_LEGION] = _G.EXPANSION_NAME6 addon.EXPANSION_MAP[_G.LE_EXPANSION_BATTLE_FOR_AZEROTH] = _G.EXPANSION_NAME7 addon.EXPANSION_MAP[_G.LE_EXPANSION_SHADOWLANDS] = _G.EXPANSION_NAME8 + addon.EXPANSION_MAP[_G.LE_EXPANSION_DRAGONFLIGHT] = _G.EXPANSION_NAME9 end if addon.isRetail then - addon.EXPANSION_MAP[_G.LE_EXPANSION_DRAGONFLIGHT] = _G.EXPANSION_NAME9 + addon.EXPANSION_MAP[_G.LE_EXPANSION_WAR_WITHIN] = _G.EXPANSION_NAME10 end -- Tradeskill subclassID -> subclassName @@ -316,4 +317,5 @@ Enum.ExpansionType = { LE_EXPANSION_BATTLE_FOR_AZEROTH = 7, LE_EXPANSION_SHADOWLANDS = 8, LE_EXPANSION_DRAGONFLIGHT = 9, + LE_EXPANSION_WAR_WITHIN = 10, } diff --git a/core/Core.lua b/core/Core.lua index 9be1410..656812b 100644 --- a/core/Core.lua +++ b/core/Core.lua @@ -132,7 +132,7 @@ function addon:OnEnable() self:RegisterMessage('AdiBags_BagClosed', 'LayoutBags') -- Track most windows involving items - if addon.isRetail or addon.isWrath then + if addon.isRetail or addon.isWrath or addon.isCata then self:RegisterEvent('PLAYER_INTERACTION_MANAGER_FRAME_SHOW', 'UpdateInteractingFrame') self:RegisterEvent('PLAYER_INTERACTION_MANAGER_FRAME_HIDE', 'UpdateInteractingFrame') -- TODO(lobato): This is a hack to fix a change in the timing of the interaction manager @@ -342,7 +342,7 @@ end function addon:BAG_UPDATE(event, bag) updatedBags[bag] = true - if addon.isWrath or addon.isRetail then + if addon.isRetail or addon.isWrath or addon.isCata then self:SendMessage('AdiBags_BagUpdated', updatedBags) wipe(updatedBags) end diff --git a/core/DefaultFilters.lua b/core/DefaultFilters.lua index d786169..657f774 100644 --- a/core/DefaultFilters.lua +++ b/core/DefaultFilters.lua @@ -69,7 +69,7 @@ function addon:SetupDefaultFilters() } -- [90] Parts of an equipment set - if addon.isRetail or addon.isWrath then + if addon.isRetail or addon.isWrath or addon.isCata then do local setFilter = addon:RegisterFilter("ItemSets", 90, "ABEvent-1.0", "ABBucket-1.0") setFilter.uiName = L['Gear manager item sets'] @@ -116,7 +116,7 @@ function addon:SetupDefaultFilters() if location ~= 0 and location ~= 1 and itemIDs[invId] ~= 0 then local player, bank, bags, voidstorage, slot, container local slotId - if addon.isWrath then + if addon.isWrath or addon.isCata then player, bank, bags, slot, container = EquipmentManager_UnpackLocation(location) else player, bank, bags, voidstorage, slot, container = EquipmentManager_UnpackLocation(location) @@ -202,7 +202,7 @@ function addon:SetupDefaultFilters() if slotData.class == QUEST or slotData.subclass == QUEST then return QUEST else - if addon.isRetail or addon.isWrath then + if addon.isRetail or addon.isWrath or addon.isCata then local isQuestItem, questId = addon:GetContainerItemQuestInfo(slotData.bag, slotData.slot) return (questId or isQuestItem) and QUEST else diff --git a/core/ItemDatabase.lua b/core/ItemDatabase.lua index 1584a89..f7998dc 100644 --- a/core/ItemDatabase.lua +++ b/core/ItemDatabase.lua @@ -21,6 +21,7 @@ along with AdiBags. If not, see . -- diff --git a/modules/DataSource.lua b/modules/DataSource.lua index 63bca7b..105e387 100644 --- a/modules/DataSource.lua +++ b/modules/DataSource.lua @@ -74,7 +74,7 @@ function mod:OnEnable() created = true end self:RegisterBucketEvent('BAG_UPDATE', 0.5, "Update") - if addon.isRetail or addon.isWrath then + if addon.isRetail or addon.isWrath or addon.isCata then self:RegisterEvent('PLAYER_INTERACTION_MANAGER_FRAME_SHOW', 'BANKFRAME_OPENED') self:RegisterEvent('PLAYER_INTERACTION_MANAGER_FRAME_HIDE', 'BANKFRAME_CLOSED') else @@ -85,7 +85,7 @@ function mod:OnEnable() end function mod:BANKFRAME_OPENED(e, kind) - if addon.isRetail or addon.isWrath then + if addon.isRetail or addon.isWrath or addon.isCata then if kind == Enum.PlayerInteractionType.Banker then self.atBank = true return self:Update() @@ -97,7 +97,7 @@ function mod:BANKFRAME_OPENED(e, kind) end function mod:BANKFRAME_CLOSED(e, kind) - if addon.isRetail or addon.isWrath then + if addon.isRetail or addon.isWrath or addon.isCata then if kind == Enum.PlayerInteractionType.Banker then self.atBank = false return self:Update() diff --git a/modules/ItemLevel.lua b/modules/ItemLevel.lua index c4c9801..f6e07fe 100644 --- a/modules/ItemLevel.lua +++ b/modules/ItemLevel.lua @@ -345,23 +345,24 @@ local maxLevelRanges = {} do if addon.isRetail then maxLevelRanges = { - [50] = { 72, 140 }, -- Battle for Azeroth - [60] = { 158, 233 }, -- Shadowlands - [70] = { 252, 434 }, -- Dragonflight + [ 50] = { 72, 140 }, -- Battle for Azeroth + [ 60] = { 158, 291 }, -- Shadowlands + [ 70] = { 252, 535 }, -- Dragonflight + [ 80] = { 554, 639 }, -- The War Within } else maxLevelRanges = { - [25] = { 66, 92 }, -- Classic Season of Disocvery Phase 1 - [40] = { 66, 92 }, -- Classic Season of Disocvery Phase 2 - [50] = { 66, 92 }, -- Classic Season of Disocvery Phase 3 - [60] = { 66, 92 }, - [70] = { 100, 164 }, - [80] = { 187, 284 }, - [85] = { 333, 416 }, - [90] = { 450, 616 }, - [100] = { 615, 735 }, - [110] = { 805, 905 }, - [120] = { 310, 350 }, + [ 25] = { 23, 35 }, -- Classic: Season of Discovery, Phase 1 + [ 40] = { 33, 45 }, -- Classic: Season of Discovery, Phase 2 + [ 50] = { 43, 55 }, -- Classic: Season of Discovery, Phase 3 + [ 60] = { 66, 92 }, -- Classic + [ 70] = { 100, 164 }, -- The Burning Crusade + [ 80] = { 187, 284 }, -- Wrath of the Lich King + [ 85] = { 333, 416 }, -- Cataclysm + [ 90] = { 450, 616 }, -- Mists of Pandaria + [100] = { 615, 735 }, -- Warlords of Draenor + [110] = { 805, 1000 }, -- Legion + [120] = { 310, 500 }, -- Battle for Azeroth } end end diff --git a/widgets/BagSlots.lua b/widgets/BagSlots.lua index 194c695..f6342b8 100644 --- a/widgets/BagSlots.lua +++ b/widgets/BagSlots.lua @@ -39,7 +39,7 @@ local CursorHasItem = _G.CursorHasItem local CursorUpdate = _G.CursorUpdate local GameTooltip = _G.GameTooltip local GetBankSlotCost = _G.GetBankSlotCost -local GetCoinTextureString = _G.GetCoinTextureString +local GetCoinTextureString = _G.C_CurrencyInfo.GetCoinTextureString local GetContainerItemID = C_Container and _G.C_Container.GetContainerItemID or _G.GetContainerItemID local GetContainerItemInfo = C_Container and _G.C_Container.GetContainerItemInfo or _G.GetContainerItemInfo local GetContainerNumFreeSlots = C_Container and _G.C_Container.GetContainerNumFreeSlots or _G.GetContainerNumFreeSlots diff --git a/widgets/ItemButton.lua b/widgets/ItemButton.lua index 7ee2710..0aab380 100644 --- a/widgets/ItemButton.lua +++ b/widgets/ItemButton.lua @@ -33,7 +33,7 @@ local GetContainerItemLink = C_Container and _G.C_Container.GetContainerItemLink local GetContainerItemQuestInfo = C_Container and _G.C_Container.GetContainerItemQuestInfo or _G.GetContainerItemQuestInfo local GetContainerNumFreeSlots = C_Container and _G.C_Container.GetContainerNumFreeSlots or _G.GetContainerNumFreeSlots local GetItemInfo = _G.C_Item.GetItemInfo -local GetItemQualityColor = _G.GetItemQualityColor +local GetItemQualityColor = _G.C_Item.GetItemQualityColor local hooksecurefunc = _G.hooksecurefunc local IsBattlePayItem = C_Container and _G.C_Container.IsBattlePayItem or _G.IsBattlePayItem or function(...) return false end local IsContainerItemAnUpgrade = _G.IsContainerItemAnUpgrade @@ -460,7 +460,7 @@ if addon.isRetail then end local function GetBorder(quality, isQuestItem, questId, isQuestActive, settings) - if addon.isRetail or addon.isWrath then + if addon.isRetail or addon.isWrath or addon.isCata then if settings.questIndicator then if questId and not isQuestActive then return TEXTURE_ITEM_QUEST_BANG