Index: Locale/enUS.lua =================================================================== --- Locale/enUS.lua (revision 38424) +++ Locale/enUS.lua (working copy) @@ -106,6 +106,7 @@ ["CATEGORY_CLASS"] = "CLASS", ["CATEGORY_CUSTOM"] = "CUSTOM", ["CATEGORY_PT"] = "PT", + ["CATEGORY_ADDON"] = "ADDON", -- system categories @@ -190,6 +191,10 @@ ["CATEGORY_CLASS_WARRIOR"] = "WARRIOR", + -- addon categories + ["CATEGORY_ADDON_ITEMRACK"] = "ITEMRACK", + + -- location names ["LOCATION_BAG"] = "Bags", ["LOCATION_BANK"] = "Bank", Index: ArkInventory.toc =================================================================== --- ArkInventory.toc (revision 38424) +++ ArkInventory.toc (working copy) @@ -8,7 +8,7 @@ ## DefaultState: Enabled ## LoadOnDemand: 0 ## SavedVariables: ARKINVDB -## OptionalDeps: Ace2, DewdropLib, GratuityLib, PeriodicTable-3.0 +## OptionalDeps: ItemRack, Ace2, DewdropLib, GratuityLib, PeriodicTable-3.0 ## X-Embeds: Ace2, DewdropLib, GratuityLib, PeriodicTable-3.0 Libs\AceLibrary\AceLibrary.lua Index: ArkInventory.lua =================================================================== --- ArkInventory.lua (revision 38424) +++ ArkInventory.lua (working copy) @@ -154,6 +154,10 @@ [302] = ARKINV_L["CATEGORY_EMPTY_UNKNOWN"], }, + CATEGORY_ADDON = { + [401] = ARKINV_L["CATEGORY_ADDON_ITEMRACK"], + }, + CACHE_CATEGORY_DEFAULT = { }, } @@ -1411,6 +1415,7 @@ [ARKINV_L["CATEGORY_EMPTY"]] = ARKINV_G.CATEGORY_EMPTY, [ARKINV_L["CATEGORY_CUSTOM"]] = self.db.profile.option.global.category.custom, [ARKINV_L["CATEGORY_PT"]] = self.db.profile.option.global.category.pt, + [ARKINV_L["CATEGORY_ADDON"]] = ARKINV_G.CATEGORY_ADDON, } local n @@ -1747,6 +1752,23 @@ return self:ItemCategoryID( ARKINV_L["CATEGORY_POTION"] ) end + -- check if the given item belongs to item rack + if i.h and IsAddOnLoaded("ItemRack") then + local _, _, item_id = strfind(i.h, "(item:%d+:%d+:%d+:%d+)") + _, _, item_id = strfind(item_id or "", "item:(%d+:%d+:%d+):%d+") + for set_name, set_items in pairs(Rack_User[UnitName("player").." of "..GetRealmName()].Sets) + do + if set_name and set_items and not strfind(set_name, "^ItemRack") and not strfind(set_name, "^Rack-") then + for _, set_item in pairs(set_items) + do + if set_item and set_item.id and set_item.id == item_id then + return self:ItemCategoryID(ARKINV_L["CATEGORY_ADDON_ITEMRACK"]) + end + end + end + end + end + -- soulbound items that need to be categorised somewhere else other than soulbound if i.sb or gt:Find( ARKINV_L["TOOLTIP_SOULBOUND"] ) then @@ -4683,6 +4705,7 @@ [4] = ARKINV_L["CATEGORY_EMPTY"], [5] = ARKINV_L["CATEGORY_CUSTOM"], [6] = ARKINV_L["CATEGORY_PT"], + [7] = ARKINV_L["CATEGORY_ADDON"], } dd:Open( this, @@ -4887,6 +4910,7 @@ [3] = ARKINV_L["CATEGORY_CLASS"], [4] = ARKINV_L["CATEGORY_EMPTY"], [5] = ARKINV_L["CATEGORY_CUSTOM"], + [6] = ARKINV_L["CATEGORY_ADDON"], }