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