changeset 581:78e9cbbf3d58 11.0.2-1

Updated for Patch 11.0.2 changes.
author MMOSimca
date Tue, 20 Aug 2024 09:42:51 -0400
parents 211556c5167b
children b15d966bf6ae
files Comments.lua Constants.lua Main.lua WoWDBProfiler.toc
diffstat 4 files changed, 265 insertions(+), 247 deletions(-) [+]
line wrap: on
line diff
--- a/Comments.lua	Tue Jun 25 20:34:34 2019 -0400
+++ b/Comments.lua	Tue Aug 20 09:42:51 2024 -0400
@@ -196,19 +196,19 @@
 end -- do-block
 
 local function CreateQuestComment()
-    local index = _G.GetQuestLogSelection()
+    local index = _G.C_QuestLog.GetSelectedQuest()
 
     if not index or not _G.QuestMapFrame:IsVisible() then
         WDP:Print("You must select a quest from the World Map's Quest frame.")
         return
     end
-    local title, _, _, is_header, _, _, _, idnum = _G.GetQuestLogTitle(index)
+    local info = _G.C_QuestLog.GetInfo(index)
 
-    if is_header then
+    if not info or info.isHeader then
         WDP:Print("You must select a quest from the World Map's Quest frame.")
         return
     end
-    NewComment("QUEST", title, idnum)
+    NewComment("QUEST", info.title, info.questID)
 end
 
 local function CreateAchievementComment()
@@ -360,13 +360,13 @@
             display:SetLineScript(line, "OnMouseUp", CreateComment, CreateItemComment)
         end
 
-        local quest_index = _G.GetQuestLogSelection()
+        local quest_index = _G.C_QuestLog.GetSelectedQuest()
 
         if quest_index and _G.QuestMapFrame:IsVisible() and not _G.QuestScrollFrame:IsVisible() then
-            local title, _, _, is_header = _G.GetQuestLogTitle(quest_index)
+            local info = _G.C_QuestLog.GetInfo(quest_index)
 
-            if not is_header then
-                line = display:AddLine(("Quest: %s"):format(title))
+            if info and not info.isHeader then
+                line = display:AddLine(("Quest: %s"):format(info.title))
                 display:SetLineScript(line, "OnMouseUp", CreateComment, CreateQuestComment)
             end
         end
@@ -500,7 +500,7 @@
 
     panel.scroll_frame = scroll_frame
 
-    local edit_container = _G.CreateFrame("Frame", nil, scroll_frame)
+    local edit_container = _G.CreateFrame("Frame", nil, scroll_frame, BackdropTemplateMixin and "BackdropTemplate")
     edit_container:SetPoint("TOPLEFT", scroll_frame, -7, 7)
     edit_container:SetPoint("BOTTOMRIGHT", scroll_frame, 7, -7)
     edit_container:SetFrameLevel(scroll_frame:GetFrameLevel() - 1)
@@ -520,6 +520,7 @@
 
     edit_container:SetBackdropBorderColor(_G.TOOLTIP_DEFAULT_COLOR.r, _G.TOOLTIP_DEFAULT_COLOR.g, _G.TOOLTIP_DEFAULT_COLOR.b)
     edit_container:SetBackdropColor(0, 0, 0)
+	edit_container:ApplyBackdrop()
 
     local link_button = _G.CreateFrame("Button", "$parentLinkButton", panel)
     link_button:SetSize(32, 16)
@@ -641,7 +642,7 @@
     --    private.data_obj = data_obj
     --    LibStub("LibDBIcon-1.0"):Register(ADDON_NAME, data_obj, private.db.global.config.minimap_icon)
 
-    _G.GameTooltip:HookScript("OnTooltipSetItem", function(self)
+	TooltipDataProcessor.AddTooltipPostCall(Enum.TooltipDataType.Item, function(self)
     end)
 
     _G["BINDING_HEADER_WOWDB_PROFILER"] = "WoWDB Profiler"
--- a/Constants.lua	Tue Jun 25 20:34:34 2019 -0400
+++ b/Constants.lua	Tue Aug 20 09:42:51 2024 -0400
@@ -1,10 +1,12 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
+-- Upvalued API.
 -----------------------------------------------------------------------
 local _G = getfenv(0)
 
 local bit = _G.bit
-
+local unpack = _G.unpack
+local GetSpellInfo = _G.C_Spell.GetSpellInfo
+local GetFactionDataByID = _G.C_Reputation.GetFactionDataByID
 
 -----------------------------------------------------------------------
 -- AddOn namespace.
@@ -1208,19 +1210,19 @@
 end
 
 private.SPELL_LABELS_BY_NAME = {
-    [_G.GetSpellInfo(13262)] = "DISENCHANT",
-    [_G.GetSpellInfo(4036)] = "ENGINEERING",
-    [_G.GetSpellInfo(30427)] = "EXTRACT_GAS",
-    [_G.GetSpellInfo(131476)] = "FISHING",
-    [_G.GetSpellInfo(2366)] = "HERB_GATHERING",
-    [_G.GetSpellInfo(51005)] = "MILLING",
-    [_G.GetSpellInfo(605)] = "MIND_CONTROL",
-    [_G.GetSpellInfo(2575)] = "MINING",
-    [_G.GetSpellInfo(3365)] = "OPENING",
-    [_G.GetSpellInfo(921)] = "PICK_POCKET",
-    [_G.GetSpellInfo(31252)] = "PROSPECTING",
-    [_G.GetSpellInfo(73979)] = "SEARCHING_FOR_ARTIFACTS",
-    [_G.GetSpellInfo(8613)] = "SKINNING",
+    [GetSpellInfo(13262)] = "DISENCHANT",
+    [GetSpellInfo(4036)] = "ENGINEERING",
+    [GetSpellInfo(30427)] = "EXTRACT_GAS",
+    [GetSpellInfo(131476)] = "FISHING",
+    [GetSpellInfo(2366)] = "HERB_GATHERING",
+    [GetSpellInfo(51005)] = "MILLING",
+    [GetSpellInfo(605)] = "MIND_CONTROL",
+    [GetSpellInfo(2575)] = "MINING",
+    [GetSpellInfo(3365)] = "OPENING",
+    [GetSpellInfo(921)] = "PICK_POCKET",
+    [GetSpellInfo(31252)] = "PROSPECTING",
+    [GetSpellInfo(73979)] = "SEARCHING_FOR_ARTIFACTS",
+    [GetSpellInfo(8613)] = "SKINNING",
 }
 
 private.NON_LOOT_SPELL_LABELS = {
@@ -1250,253 +1252,254 @@
 -- Faction/Reputation Data Constants.
 -----------------------------------------------------------------------
 
--- Table has: factionID, isBlacklisted, and then the returns from GetFactionInfoByID
+-- Table has: factionID, isBlacklisted, and then the table of returns from C_Reputation.GetFactionDataByID
 private.FACTION_DATA = {
-    -- Used only for private.REP_BUFFS
-    ARGENT_CRUSADE = { 1106, false, _G.GetFactionInfoByID(1106) },
-    BILGEWATER_CARTEL = { 1133, false, _G.GetFactionInfoByID(1133) },
-    CENARION_CIRCLE = { 609, false, _G.GetFactionInfoByID(609) },
-    DARKSPEAR = { 530, false, _G.GetFactionInfoByID(530) },
-    DARNASSUS = { 69, false, _G.GetFactionInfoByID(69) },
-    DRAGONMAW_CLAN = { 1172, false, _G.GetFactionInfoByID(1172) },
-    EARTHEN_RING = { 1135, false, _G.GetFactionInfoByID(1135) },
-    EBON_BLADE = { 1098, false, _G.GetFactionInfoByID(1098) },
-    EXODAR = { 930, false, _G.GetFactionInfoByID(930) },
-    GILNEAS = { 1134, false, _G.GetFactionInfoByID(1134) },
-    GNOMEREGAN = { 54, false, _G.GetFactionInfoByID(54) },
-    GUARDIANS_OF_HYJAL = { 1158, false, _G.GetFactionInfoByID(1158) },
-    GUILD = { 1168, false, _G.GetFactionInfoByID(1168) },
-    HONOR_HOLD = { 946, false, _G.GetFactionInfoByID(946) },
-    HUOJIN = { 1352, false, _G.GetFactionInfoByID(1352) },
-    IRONFORGE = { 47, false, _G.GetFactionInfoByID(47) },
-    KIRIN_TOR = { 1090, false, _G.GetFactionInfoByID(1090) },
-    ORGRIMMAR = { 76, false, _G.GetFactionInfoByID(76) },
-    RAMKAHEN = { 1173, false, _G.GetFactionInfoByID(1173) },
-    SHATAR = { 935, false, _G.GetFactionInfoByID(935) },
-    SILVERMOON = { 911, false, _G.GetFactionInfoByID(911) },
-    STORMWIND = { 72, false, _G.GetFactionInfoByID(72) },
-    THERAZANE = { 1171, false, _G.GetFactionInfoByID(1171) },
-    THRALLMAR = { 947, false, _G.GetFactionInfoByID(947) },
-    THUNDER_BLUFF = { 81, false, _G.GetFactionInfoByID(81) },
-    TUSHUI = { 1353, false, _G.GetFactionInfoByID(1353) },
-    UNDERCITY = { 68, false, _G.GetFactionInfoByID(68) },
-    WILDHAMMER_CLAN = { 1174, false, _G.GetFactionInfoByID(1174) },
-    WYRMREST_ACCORD = { 1091, false, _G.GetFactionInfoByID(1091) },
+    -- Used to determine which factions to record rep gains for and for private.REP_BUFFS
+	-- If a faction isn't in this list, the reputation gains on mob kill will not be recorded.
+    ARGENT_CRUSADE = { 1106, false, GetFactionDataByID(1106) },
+    BILGEWATER_CARTEL = { 1133, false, GetFactionDataByID(1133) },
+    CENARION_CIRCLE = { 609, false, GetFactionDataByID(609) },
+    DARKSPEAR = { 530, false, GetFactionDataByID(530) },
+    DARNASSUS = { 69, false, GetFactionDataByID(69) },
+    DRAGONMAW_CLAN = { 1172, false, GetFactionDataByID(1172) },
+    EARTHEN_RING = { 1135, false, GetFactionDataByID(1135) },
+    EBON_BLADE = { 1098, false, GetFactionDataByID(1098) },
+    EXODAR = { 930, false, GetFactionDataByID(930) },
+    GILNEAS = { 1134, false, GetFactionDataByID(1134) },
+    GNOMEREGAN = { 54, false, GetFactionDataByID(54) },
+    GUARDIANS_OF_HYJAL = { 1158, false, GetFactionDataByID(1158) },
+    GUILD = { 1168, false, GetFactionDataByID(1168) },
+    HONOR_HOLD = { 946, false, GetFactionDataByID(946) },
+    HUOJIN = { 1352, false, GetFactionDataByID(1352) },
+    IRONFORGE = { 47, false, GetFactionDataByID(47) },
+    KIRIN_TOR = { 1090, false, GetFactionDataByID(1090) },
+    ORGRIMMAR = { 76, false, GetFactionDataByID(76) },
+    RAMKAHEN = { 1173, false, GetFactionDataByID(1173) },
+    SHATAR = { 935, false, GetFactionDataByID(935) },
+    SILVERMOON = { 911, false, GetFactionDataByID(911) },
+    STORMWIND = { 72, false, GetFactionDataByID(72) },
+    THERAZANE = { 1171, false, GetFactionDataByID(1171) },
+    THRALLMAR = { 947, false, GetFactionDataByID(947) },
+    THUNDER_BLUFF = { 81, false, GetFactionDataByID(81) },
+    TUSHUI = { 1353, false, GetFactionDataByID(1353) },
+    UNDERCITY = { 68, false, GetFactionDataByID(68) },
+    WILDHAMMER_CLAN = { 1174, false, GetFactionDataByID(1174) },
+    WYRMREST_ACCORD = { 1091, false, GetFactionDataByID(1091) },
     -- Commendation Factions
-    ANGLERS = { 1302, false, _G.GetFactionInfoByID(1302) },
-    AUGUST_CELESTIALS = { 1341, false, _G.GetFactionInfoByID(1341) },
-    DOMINANCE_OFFENSIVE = { 1375, false, _G.GetFactionInfoByID(1375) },
-    GOLDEN_LOTUS = { 1269, false, _G.GetFactionInfoByID(1269) },
-    KIRIN_TOR_OFFENSIVE = { 1387, false, _G.GetFactionInfoByID(1387) },
-    KLAXXI = { 1337, false, _G.GetFactionInfoByID(1337) },
-    LOREWALKERS = { 1345, false, _G.GetFactionInfoByID(1345) },
-    OPERATION_SHIELDWALL = { 1376, false, _G.GetFactionInfoByID(1376) },
-    ORDER_OF_THE_CLOUD_SERPENTS = { 1271, false, _G.GetFactionInfoByID(1271) },
-    SHADO_PAN = { 1270, false, _G.GetFactionInfoByID(1270) },
-    SHADO_PAN_ASSAULT = { 1435, false, _G.GetFactionInfoByID(1435) },
-    SUNREAVER_ONSLAUGHT = { 1388, false, _G.GetFactionInfoByID(1388) },
-    TILLERS = { 1272, false, _G.GetFactionInfoByID(1272) },
+    ANGLERS = { 1302, false, GetFactionDataByID(1302) },
+    AUGUST_CELESTIALS = { 1341, false, GetFactionDataByID(1341) },
+    DOMINANCE_OFFENSIVE = { 1375, false, GetFactionDataByID(1375) },
+    GOLDEN_LOTUS = { 1269, false, GetFactionDataByID(1269) },
+    KIRIN_TOR_OFFENSIVE = { 1387, false, GetFactionDataByID(1387) },
+    KLAXXI = { 1337, false, GetFactionDataByID(1337) },
+    LOREWALKERS = { 1345, false, GetFactionDataByID(1345) },
+    OPERATION_SHIELDWALL = { 1376, false, GetFactionDataByID(1376) },
+    ORDER_OF_THE_CLOUD_SERPENTS = { 1271, false, GetFactionDataByID(1271) },
+    SHADO_PAN = { 1270, false, GetFactionDataByID(1270) },
+    SHADO_PAN_ASSAULT = { 1435, false, GetFactionDataByID(1435) },
+    SUNREAVER_ONSLAUGHT = { 1388, false, GetFactionDataByID(1388) },
+    TILLERS = { 1272, false, GetFactionDataByID(1272) },
     -- Bodyguards (blacklisted)
-    DELVAR_IRONFIST = { 1733, true, _G.GetFactionInfoByID(1733) },
-    TORMMOK = { 1736, true, _G.GetFactionInfoByID(1736) },
-    TALONPRIEST_ISHAAL = { 1737, true, _G.GetFactionInfoByID(1737) },
-    DEFENDER_ILLONA = { 1738, true, _G.GetFactionInfoByID(1738) },
-    VIVIANNE = { 1739, true, _G.GetFactionInfoByID(1739) },
-    AEDA_BRIGHTDAWN = { 1740, true, _G.GetFactionInfoByID(1740) },
-    LEORAJH = { 1741, true, _G.GetFactionInfoByID(1741) },
+    DELVAR_IRONFIST = { 1733, true, GetFactionDataByID(1733) },
+    TORMMOK = { 1736, true, GetFactionDataByID(1736) },
+    TALONPRIEST_ISHAAL = { 1737, true, GetFactionDataByID(1737) },
+    DEFENDER_ILLONA = { 1738, true, GetFactionDataByID(1738) },
+    VIVIANNE = { 1739, true, GetFactionDataByID(1739) },
+    AEDA_BRIGHTDAWN = { 1740, true, GetFactionDataByID(1740) },
+    LEORAJH = { 1741, true, GetFactionDataByID(1741) },
     -- Legion reps (blacklisted because of world quests)
-    COURT_OF_FARONDIS = { 1900, true, _G.GetFactionInfoByID(1900) },
-    DREAMWEAVERS = { 1883, true, _G.GetFactionInfoByID(1883) },
-    HIGHMOUNTAIN_TRIBE = { 1828, true, _G.GetFactionInfoByID(1828) },
-    NIGHTFALLEN = { 1859, true, _G.GetFactionInfoByID(1859) },
-    VALARJAR = { 1948, true, _G.GetFactionInfoByID(1948) },
-    WARDENS = { 1894, true, _G.GetFactionInfoByID(1894) },
-    ARMIES_OF_LEGIONFALL = { 2045, true, _G.GetFactionInfoByID(2045) },
-    ARMY_OF_THE_LIGHT = { 2165, true, _G.GetFactionInfoByID(2165) },
-    ARGUSSIAN_REACH = { 2170, true, _G.GetFactionInfoByID(2170) },
+    COURT_OF_FARONDIS = { 1900, true, GetFactionDataByID(1900) },
+    DREAMWEAVERS = { 1883, true, GetFactionDataByID(1883) },
+    HIGHMOUNTAIN_TRIBE = { 1828, true, GetFactionDataByID(1828) },
+    NIGHTFALLEN = { 1859, true, GetFactionDataByID(1859) },
+    VALARJAR = { 1948, true, GetFactionDataByID(1948) },
+    WARDENS = { 1894, true, GetFactionDataByID(1894) },
+    ARMIES_OF_LEGIONFALL = { 2045, true, GetFactionDataByID(2045) },
+    ARMY_OF_THE_LIGHT = { 2165, true, GetFactionDataByID(2165) },
+    ARGUSSIAN_REACH = { 2170, true, GetFactionDataByID(2170) },
     -- BFA reps (blacklisted because of world quests)
-    ZANDALARI_EMPIRE = { 2103, true, _G.GetFactionInfoByID(2103) },
-    PROUDMOORE_ADMIRALITY = { 2160, true, _G.GetFactionInfoByID(2160) },
-    TALNAJIS_EXPEDITION = { 2156, true, _G.GetFactionInfoByID(2156) },
-    ORDER_OF_EMBERS = { 2161, true, _G.GetFactionInfoByID(2161) },
-    VOLDUNAI = { 2158, true, _G.GetFactionInfoByID(2158) },
-    STORMS_WAKE = { 2162, true, _G.GetFactionInfoByID(2162) },
-    THE_HONORBOUND = { 2157, true, _G.GetFactionInfoByID(2157) },
-    SEVENTH_LEGION = { 2159, true, _G.GetFactionInfoByID(2159) },
-    CHAMPIONS_OF_AZEROTH = { 2164, true, _G.GetFactionInfoByID(2164) },
-    TORTOLLAN_SEEKERS = { 2163, true, _G.GetFactionInfoByID(2163) },
+    ZANDALARI_EMPIRE = { 2103, true, GetFactionDataByID(2103) },
+    PROUDMOORE_ADMIRALITY = { 2160, true, GetFactionDataByID(2160) },
+    TALNAJIS_EXPEDITION = { 2156, true, GetFactionDataByID(2156) },
+    ORDER_OF_EMBERS = { 2161, true, GetFactionDataByID(2161) },
+    VOLDUNAI = { 2158, true, GetFactionDataByID(2158) },
+    STORMS_WAKE = { 2162, true, GetFactionDataByID(2162) },
+    THE_HONORBOUND = { 2157, true, GetFactionDataByID(2157) },
+    SEVENTH_LEGION = { 2159, true, GetFactionDataByID(2159) },
+    CHAMPIONS_OF_AZEROTH = { 2164, true, GetFactionDataByID(2164) },
+    TORTOLLAN_SEEKERS = { 2163, true, GetFactionDataByID(2163) },
 }
 
 private.REP_BUFFS = {
     -- Tabard Buffs (they screw up everything, so blacklist)
-    [_G.GetSpellInfo(93830)] = { -- BILGEWATER CARTEL TABARD
-        faction = private.FACTION_DATA.BILGEWATER_CARTEL[3],
+    [GetSpellInfo(93830)] = { -- BILGEWATER CARTEL TABARD
+        faction = private.FACTION_DATA.BILGEWATER_CARTEL[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93827)] = { -- DARKSPEAR TABARD
-        faction = private.FACTION_DATA.DARKSPEAR[3],
+    [GetSpellInfo(93827)] = { -- DARKSPEAR TABARD
+        faction = private.FACTION_DATA.DARKSPEAR[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93806)] = { -- DARNASSUS TABARD
-        faction = private.FACTION_DATA.DARNASSUS[3],
+    [GetSpellInfo(93806)] = { -- DARNASSUS TABARD
+        faction = private.FACTION_DATA.DARNASSUS[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93811)] = { -- EXODAR TABARD
-        faction = private.FACTION_DATA.EXODAR[3],
+    [GetSpellInfo(93811)] = { -- EXODAR TABARD
+        faction = private.FACTION_DATA.EXODAR[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93816)] = { -- GILNEAS TABARD
-        faction = private.FACTION_DATA.GILNEAS[3],
+    [GetSpellInfo(93816)] = { -- GILNEAS TABARD
+        faction = private.FACTION_DATA.GILNEAS[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93821)] = { -- GNOMEREGAN TABARD
-        faction = private.FACTION_DATA.GNOMEREGAN[3],
+    [GetSpellInfo(93821)] = { -- GNOMEREGAN TABARD
+        faction = private.FACTION_DATA.GNOMEREGAN[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(126436)] = { -- HUOJIN TABARD
-        faction = private.FACTION_DATA.HUOJIN[3],
+    [GetSpellInfo(126436)] = { -- HUOJIN TABARD
+        faction = private.FACTION_DATA.HUOJIN[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(97340)] = { -- ILLUSTRIOUS GUILD TABARD
-        faction = private.FACTION_DATA.GUILD[3],
+    [GetSpellInfo(97340)] = { -- ILLUSTRIOUS GUILD TABARD
+        faction = private.FACTION_DATA.GUILD[1],
         modifier = 1,
     },
-    [_G.GetSpellInfo(93805)] = { -- IRONFORGE TABARD
-        faction = private.FACTION_DATA.IRONFORGE[3],
+    [GetSpellInfo(93805)] = { -- IRONFORGE TABARD
+        faction = private.FACTION_DATA.IRONFORGE[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93825)] = { -- ORGRIMMAR TABARD
-        faction = private.FACTION_DATA.ORGRIMMAR[3],
+    [GetSpellInfo(93825)] = { -- ORGRIMMAR TABARD
+        faction = private.FACTION_DATA.ORGRIMMAR[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(97341)] = { -- RENOWNED GUILD TABARD
-        faction = private.FACTION_DATA.GUILD[3],
+    [GetSpellInfo(97341)] = { -- RENOWNED GUILD TABARD
+        faction = private.FACTION_DATA.GUILD[1],
         modifier = 0.5,
     },
-    [_G.GetSpellInfo(93828)] = { -- SILVERMOON CITY TABARD
-        faction = private.FACTION_DATA.SILVERMOON[3],
+    [GetSpellInfo(93828)] = { -- SILVERMOON CITY TABARD
+        faction = private.FACTION_DATA.SILVERMOON[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93795)] = { -- STORMWIND TABARD
-        faction = private.FACTION_DATA.STORMWIND[3],
+    [GetSpellInfo(93795)] = { -- STORMWIND TABARD
+        faction = private.FACTION_DATA.STORMWIND[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93337)] = { -- TABARD OF RAMKAHEN
-        faction = private.FACTION_DATA.RAMKAHEN[3],
+    [GetSpellInfo(93337)] = { -- TABARD OF RAMKAHEN
+        faction = private.FACTION_DATA.RAMKAHEN[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(57819)] = { -- TABARD OF THE ARGENT CRUSADE
-        faction = private.FACTION_DATA.ARGENT_CRUSADE[3],
+    [GetSpellInfo(57819)] = { -- TABARD OF THE ARGENT CRUSADE
+        faction = private.FACTION_DATA.ARGENT_CRUSADE[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(94158)] = { -- TABARD OF THE DRAGONMAW CLAN
-        faction = private.FACTION_DATA.DRAGONMAW_CLAN[3],
+    [GetSpellInfo(94158)] = { -- TABARD OF THE DRAGONMAW CLAN
+        faction = private.FACTION_DATA.DRAGONMAW_CLAN[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93339)] = { -- TABARD OF THE EARTHEN RING
-        faction = private.FACTION_DATA.EARTHEN_RING[3],
+    [GetSpellInfo(93339)] = { -- TABARD OF THE EARTHEN RING
+        faction = private.FACTION_DATA.EARTHEN_RING[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(57820)] = { -- TABARD OF THE EBON BLADE
-        faction = private.FACTION_DATA.EBON_BLADE[3],
+    [GetSpellInfo(57820)] = { -- TABARD OF THE EBON BLADE
+        faction = private.FACTION_DATA.EBON_BLADE[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93341)] = { -- TABARD OF THE GUARDIANS OF HYJAL
-        faction = private.FACTION_DATA.GUARDIANS_OF_HYJAL[3],
+    [GetSpellInfo(93341)] = { -- TABARD OF THE GUARDIANS OF HYJAL
+        faction = private.FACTION_DATA.GUARDIANS_OF_HYJAL[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(57821)] = { -- TABARD OF THE KIRIN TOR
-        faction = private.FACTION_DATA.KIRIN_TOR[3],
+    [GetSpellInfo(57821)] = { -- TABARD OF THE KIRIN TOR
+        faction = private.FACTION_DATA.KIRIN_TOR[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93368)] = { -- TABARD OF THE WILDHAMMER CLAN
-        faction = private.FACTION_DATA.WILDHAMMER_CLAN[3],
+    [GetSpellInfo(93368)] = { -- TABARD OF THE WILDHAMMER CLAN
+        faction = private.FACTION_DATA.WILDHAMMER_CLAN[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(57822)] = { -- TABARD OF THE WYRMREST ACCORD
-        faction = private.FACTION_DATA.WYRMREST_ACCORD[3],
+    [GetSpellInfo(57822)] = { -- TABARD OF THE WYRMREST ACCORD
+        faction = private.FACTION_DATA.WYRMREST_ACCORD[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(93347)] = { -- TABARD OF THERAZANE
-        faction = private.FACTION_DATA.THERAZANE[3],
+    [GetSpellInfo(93347)] = { -- TABARD OF THERAZANE
+        faction = private.FACTION_DATA.THERAZANE[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(94463)] = { -- THUNDERBLUFF TABARD
-        faction = private.FACTION_DATA.THUNDER_BLUFF[3],
+    [GetSpellInfo(94463)] = { -- THUNDERBLUFF TABARD
+        faction = private.FACTION_DATA.THUNDER_BLUFF[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(126434)] = { -- TUSHUI TABARD
-        faction = private.FACTION_DATA.TUSHUI[3],
+    [GetSpellInfo(126434)] = { -- TUSHUI TABARD
+        faction = private.FACTION_DATA.TUSHUI[1],
         ignore = true,
     },
-    [_G.GetSpellInfo(94462)] = { -- UNDERCITY TABARD
-        faction = private.FACTION_DATA.UNDERCITY[3],
+    [GetSpellInfo(94462)] = { -- UNDERCITY TABARD
+        faction = private.FACTION_DATA.UNDERCITY[1],
         ignore = true,
     },
 
     -- Banner Buffs (can't tell the different levels of them apart via ingame API, so blacklist)
-    [_G.GetSpellInfo(90216)] = { -- ALLIANCE GUILD STANDARD
+    [GetSpellInfo(90216)] = { -- ALLIANCE GUILD STANDARD
         ignore = true,
     },
-    [_G.GetSpellInfo(90708)] = { -- HORDE GUILD STANDARD
+    [GetSpellInfo(90708)] = { -- HORDE GUILD STANDARD
         ignore = true,
     },
 
     -- Holiday Buffs
-    [_G.GetSpellInfo(136583)] = { -- DARKMOON TOP HAT
+    [GetSpellInfo(136583)] = { -- DARKMOON TOP HAT
         modifier = 0.1,
     },
-    [_G.GetSpellInfo(24705)] = { -- GRIM VISAGE
+    [GetSpellInfo(24705)] = { -- GRIM VISAGE
         modifier = 0.1,
     },
-    [_G.GetSpellInfo(61849)] = { -- SPIRIT OF SHARING
+    [GetSpellInfo(61849)] = { -- SPIRIT OF SHARING
         modifier = 0.1,
     },
-    [_G.GetSpellInfo(95987)] = { -- UNBURDENED
+    [GetSpellInfo(95987)] = { -- UNBURDENED
         modifier = 0.1,
     },
-    [_G.GetSpellInfo(46668)] = { -- WHEE!
+    [GetSpellInfo(46668)] = { -- WHEE!
         modifier = 0.1,
     },
-    [_G.GetSpellInfo(100951)] = { -- WOW 8TH ANNIVERSARY
+    [GetSpellInfo(100951)] = { -- WOW 8TH ANNIVERSARY
         modifier = 0.08,
     },
-    [_G.GetSpellInfo(132700)] = { -- WOW 9TH ANNIVERSARY
+    [GetSpellInfo(132700)] = { -- WOW 9TH ANNIVERSARY
         modifier = 0.09,
     },
-    [_G.GetSpellInfo(150986)] = { -- WOW 10TH ANNIVERSARY
+    [GetSpellInfo(150986)] = { -- WOW 10TH ANNIVERSARY
         modifier = 0.1,
     },
-    [_G.GetSpellInfo(188454)] = { -- WOW 11TH ANNIVERSARY
+    [GetSpellInfo(188454)] = { -- WOW 11TH ANNIVERSARY
         modifier = 0.11,
     },
-    [_G.GetSpellInfo(219159)] = { -- WOW 12TH ANNIVERSARY
+    [GetSpellInfo(219159)] = { -- WOW 12TH ANNIVERSARY
         modifier = 0.12,
     },
 
     -- Situational Buffs
-    [_G.GetSpellInfo(39953)] = { -- ADALS SONG OF BATTLE
-        faction = private.FACTION_DATA.SHATAR[3],
+    [GetSpellInfo(39953)] = { -- ADALS SONG OF BATTLE
+        faction = private.FACTION_DATA.SHATAR[1],
         modifier = 0.1,
     },
-    [_G.GetSpellInfo(30754)] = { -- CENARION FAVOR
-        faction = private.FACTION_DATA.CENARION_CIRCLE[3],
+    [GetSpellInfo(30754)] = { -- CENARION FAVOR
+        faction = private.FACTION_DATA.CENARION_CIRCLE[1],
         modifier = 0.25,
     },
-    [_G.GetSpellInfo(32098)] = { -- HONOR HOLD FAVOR
-        faction = private.FACTION_DATA.HONOR_HOLD[3],
+    [GetSpellInfo(32098)] = { -- HONOR HOLD FAVOR
+        faction = private.FACTION_DATA.HONOR_HOLD[1],
         modifier = 0.25,
     },
-    [_G.GetSpellInfo(39913)] = { -- NAZGRELS FERVOR
-        faction = private.FACTION_DATA.THRALLMAR[3],
+    [GetSpellInfo(39913)] = { -- NAZGRELS FERVOR
+        faction = private.FACTION_DATA.THRALLMAR[1],
         modifier = 0.1,
     },
-    [_G.GetSpellInfo(32096)] = { -- THRALLMARS FAVOR
-        faction = private.FACTION_DATA.THRALLMAR[3],
+    [GetSpellInfo(32096)] = { -- THRALLMARS FAVOR
+        faction = private.FACTION_DATA.THRALLMAR[1],
         modifier = 0.25,
     },
-    [_G.GetSpellInfo(39911)] = { -- TROLLBANES COMMAND
-        faction = private.FACTION_DATA.HONOR_HOLD[3],
+    [GetSpellInfo(39911)] = { -- TROLLBANES COMMAND
+        faction = private.FACTION_DATA.HONOR_HOLD[1],
         modifier = 0.1,
     },
 }
--- a/Main.lua	Tue Jun 25 20:34:34 2019 -0400
+++ b/Main.lua	Tue Aug 20 09:42:51 2024 -0400
@@ -16,6 +16,7 @@
 local unpack = _G.unpack
 
 local C_Timer = _G.C_Timer
+local C_Spell = _G.C_Spell
 local GetCurrencyInfo = _G.GetCurrencyInfo
 
 
@@ -48,9 +49,9 @@
 
 local ITEM_ID_TIMBER = 114781
 
-local LOOT_SLOT_CURRENCY = _G.LOOT_SLOT_CURRENCY
-local LOOT_SLOT_ITEM = _G.LOOT_SLOT_ITEM
-local LOOT_SLOT_MONEY = _G.LOOT_SLOT_MONEY
+local ENUM_LOOTSLOTTYPE_CURRENCY = _G.Enum.LootSlotType.Currency
+local ENUM_LOOTSLOTTYPE_ITEM = _G.Enum.LootSlotType.Item
+local ENUM_LOOTSLOTTYPE_MONEY = _G.Enum.LootSlotType.Money
 
 --local LOOT_SOURCE_ID_UNKNOWN = 1 -- Technically unused right now, but has future use potential
 --local LOOT_SOURCE_ID_REDUNDANT = 3 -- Technically unused right now, but has future use potential
@@ -112,7 +113,7 @@
     CHAT_MSG_SYSTEM = true,
     COMBAT_LOG_EVENT_UNFILTERED = true,
     COMBAT_TEXT_UPDATE = true,
-    CURSOR_UPDATE = true,
+    WORLD_CURSOR_TOOLTIP_UPDATE = true,
     GARRISON_MISSION_NPC_CLOSED = "ResumeChatLootRecording",
     GARRISON_MISSION_NPC_OPENED = "StopChatLootRecording",
     GARRISON_SHIPYARD_NPC_CLOSED = "ResumeChatLootRecording",
@@ -125,7 +126,6 @@
     ISLAND_AZERITE_GAIN = true,
     ISLAND_COMPLETED = true,
     ITEM_TEXT_BEGIN = true,
-    ITEM_UPGRADE_MASTER_OPENED = true,
     LOOT_CLOSED = true,
     LOOT_OPENED = true,
     LOOT_SLOT_CLEARED = "HandleBadChatLootData",
@@ -148,10 +148,9 @@
     TAXIMAP_OPENED = true,
     TRADE_CLOSED = "ResumeChatLootRecording",
     TRADE_SHOW = "StopChatLootRecording",
-    TRADE_SKILL_SHOW = true,
-    TRAINER_CLOSED = true,
-    TRAINER_SHOW = true,
-    TRANSMOGRIFY_OPEN = true,
+    --TRADE_SKILL_SHOW = true,
+    --TRAINER_CLOSED = true,
+    --TRAINER_SHOW = true,
     UNIT_PET = true,
     UNIT_QUEST_LOG_CHANGED = true,
     UNIT_SPELLCAST_FAILED = "HandleSpellFailure",
@@ -159,7 +158,7 @@
     UNIT_SPELLCAST_INTERRUPTED = "HandleSpellFailure",
     UNIT_SPELLCAST_SENT = true,
     UNIT_SPELLCAST_SUCCEEDED = true,
-    VOID_STORAGE_OPEN = true,
+    PLAYER_INTERACTION_MANAGER_FRAME_SHOW = true,
 }
 
 
@@ -556,8 +555,8 @@
 
     if not bag_index or not slot_index then
         for new_bag_index = 0, _G.NUM_BAG_FRAMES do
-            for new_slot_index = 1, _G.GetContainerNumSlots(new_bag_index) do
-                if item_id == ItemLinkToID(_G.GetContainerItemLink(new_bag_index, new_slot_index)) then
+            for new_slot_index = 1, _G.C_Container.GetContainerNumSlots(new_bag_index) do
+                if item_id == ItemLinkToID(_G.C_Container.GetContainerItemLink(new_bag_index, new_slot_index)) then
                     bag_index = new_bag_index
                     slot_index = new_slot_index
                     break
@@ -570,7 +569,7 @@
 
     -- Check if Blizzard has marked this item as officially having a chance of containing loot
     if bag_index and slot_index then
-        local _, _, _, _, _, is_lootable = _G.GetContainerItemInfo(bag_index, slot_index)
+        local _, _, _, _, _, is_lootable = _G.C_Container.GetContainerItemInfo(bag_index, slot_index)
         if is_lootable then
             any_loot = true
         end
@@ -637,13 +636,15 @@
 
     function UpdateFactionData()
         for faction_index = 1, MAX_FACTION_INDEX do
-            local faction_name, _, current_standing, _, _, _, _, _, is_header = _G.GetFactionInfo(faction_index)
-
-            if faction_name then
-                faction_standings[faction_name] = STANDING_NAMES[current_standing]
-            elseif not faction_name then
-                break
-            end
+            local faction_table = _G.C_Reputation.GetFactionDataByIndex(faction_index)
+
+			if faction_table then
+				if faction_table.name then
+					faction_standings[faction_table.name] = STANDING_NAMES[faction_table.currentStanding]
+				elseif not faction_table.name then
+					break
+				end
+			end
         end
     end
 end -- do-block
@@ -965,11 +966,11 @@
     target_location_timer_handle = C_Timer.NewTicker(DELAY_UPDATE_TARGET_LOCATION, WDP.UpdateTargetLocation, nil)
     world_quest_timer_handle = C_Timer.NewTicker(DELAY_PROCESS_WORLD_QUESTS, WDP.ProcessWorldQuests, nil)
 
-    _G.hooksecurefunc("UseContainerItem", function(bag_index, slot_index, target_unit)
+    _G.hooksecurefunc(C_Container, "UseContainerItem", function(bag_index, slot_index, target_unit)
         if target_unit then
             return
         end
-        HandleItemUse(_G.GetContainerItemLink(bag_index, slot_index), bag_index, slot_index)
+        HandleItemUse(_G.C_Container.GetContainerItemLink(bag_index, slot_index), bag_index, slot_index)
     end)
 
     _G.hooksecurefunc("UseItemByName", function(identifier, target_unit)
@@ -1177,12 +1178,12 @@
     end
 
     for bag_index = 0, _G.NUM_BAG_SLOTS do
-        for slot_index = 1, _G.GetContainerNumSlots(bag_index) do
-            local item_id = _G.GetContainerItemID(bag_index, slot_index)
+        for slot_index = 1, _G.C_Container.GetContainerNumSlots(bag_index) do
+            local item_id = _G.C_Container.GetContainerItemID(bag_index, slot_index)
 
             if item_id and item_id > 0 then
-                local _, max_durability = _G.GetContainerItemDurability(bag_index, slot_index)
-                RecordItemData(item_id, _G.GetContainerItemLink(bag_index, slot_index), false, max_durability)
+                local _, max_durability = _G.C_Container.GetContainerItemDurability(bag_index, slot_index)
+                RecordItemData(item_id, _G.C_Container.GetContainerItemLink(bag_index, slot_index), false, max_durability)
             end
         end
     end
@@ -1940,7 +1941,7 @@
         -- Determine faction ID
         local faction_ID
         for pseudo_faction_name, faction_data_table in pairs(private.FACTION_DATA) do
-            if faction_name == faction_data_table[3] then
+            if faction_data_table[3] and faction_data_table[3].currentStanding and faction_name == faction_data_table[3].currentStanding then
                 -- Check ignore flag
                 if faction_data_table[2] then
                     return
@@ -1951,8 +1952,8 @@
         end
         if faction_ID and faction_ID > 0 then
             -- Check for modifiers from Commendations (applied directly to the faction, account-wide)
-            local _, _, _, _, _, _, _, _, _, _, _, _, _, _, has_bonus_rep_gain = GetFactionInfoByID(faction_ID)
-            if has_bonus_rep_gain then
+            local factionReturn = _G.C_Reputation.GetFactionDataByID(faction_ID)
+            if factionReturn and factionReturn.hasBonusRepGain then
                 modifier = modifier + 1
             end
         end
@@ -1980,7 +1981,7 @@
 end -- do-block
 
 
-function WDP:CURSOR_UPDATE(event_name)
+function WDP:WORLD_CURSOR_TOOLTIP_UPDATE(event_name, is_shown)
     if current_action.fishing_target or _G.Minimap:IsMouseOver() then
         return
     end
@@ -2018,11 +2019,11 @@
             local locked_item_id
 
             for bag_index = 0, _G.NUM_BAG_FRAMES do
-                for slot_index = 1, _G.GetContainerNumSlots(bag_index) do
-                    local _, _, is_locked, _, _, is_lootable = _G.GetContainerItemInfo(bag_index, slot_index)
+                for slot_index = 1, _G.C_Container.GetContainerNumSlots(bag_index) do
+                    local _, _, is_locked, _, _, is_lootable = _G.C_Container.GetContainerItemInfo(bag_index, slot_index)
 
                     if is_locked and is_lootable then
-                        locked_item_id = ItemLinkToID(_G.GetContainerItemLink(bag_index, slot_index))
+                        locked_item_id = ItemLinkToID(_G.C_Container.GetContainerItemLink(bag_index, slot_index))
                         break
                     end
                 end
@@ -2292,7 +2293,7 @@
         loot_guid_registry[current_loot.label] = loot_guid_registry[current_loot.label] or {}
 
         for loot_slot = 1, _G.GetNumLootItems() do
-            local texture_filedata_id, item_text, slot_quantity, quality, locked = _G.GetLootSlotInfo(loot_slot)
+            local texture_filedata_id, item_text, slot_quantity, _, locked = _G.GetLootSlotInfo(loot_slot)
             local slot_type = _G.GetLootSlotType(loot_slot)
             local loot_info = { _G.GetLootSourceInfo(loot_slot) }
             local loot_link = _G.GetLootSlotLink(loot_slot)
@@ -2312,7 +2313,7 @@
                         local source_type, source_id = ParseGUID(source_guid)
                         local source_key = ("%s:%d"):format(source_type, source_id)
 
-                        if slot_type == LOOT_SLOT_ITEM then
+                        if slot_type == ENUM_LOOTSLOTTYPE_ITEM then
                             if loot_link then
                                 local item_id = ItemLinkToID(loot_link)
                                 Debug("GUID: %s - Type:ID: %s - ItemID: %d - Amount: %d (%d)", loot_info[loot_index], source_key, item_id, loot_info[loot_index + 1], slot_quantity)
@@ -2322,7 +2323,7 @@
                             else
                                 Debug("%s: Loot link is nil for loot slot %d of the entity with GUID %s and Type:ID: %s.", event_name, loot_slot, loot_info[loot_index], source_key)
                             end
-                        elseif slot_type == LOOT_SLOT_MONEY then
+                        elseif slot_type == ENUM_LOOTSLOTTYPE_MONEY then
                             Debug("GUID: %s - Type:ID: %s - Money - Amount: %d (%d)", loot_info[loot_index], source_key, loot_info[loot_index + 1], slot_quantity)
                             if current_loot.target_type == AF.ZONE then
                                 table.insert(current_loot.list, ("money:%d"):format(loot_quantity))
@@ -2331,7 +2332,7 @@
                                 current_loot.sources[source_guid]["money"] = (current_loot.sources[source_guid]["money"] or 0) + loot_quantity
                                 guids_used[source_guid] = true
                             end
-                        elseif slot_type == LOOT_SLOT_CURRENCY then
+                        elseif slot_type == ENUM_LOOTSLOTTYPE_CURRENCY then
                             -- Same bug with GetLootSlotInfo() will screw up currency when it happens, so we won't process this slot's loot.
                             if loot_link then
                                 local currency_id = CurrencyLinkToID(loot_link)
@@ -2348,6 +2349,8 @@
                             else
                                 Debug("%s: Loot link is nil for loot slot %d of the entity with GUID %s and Type:ID: %s.", event_name, loot_slot, loot_info[loot_index], source_key)
                             end
+						else
+                            Debug("Unknown LootSlotType %d. GUID: %s - Type:ID: %s - Loot Slot: %d - Loot Link: %s", slot_type, loot_info[loot_index], source_key, loot_slot, loot_link or "")
                         end
                     else
                         -- If this is nil, then the item's quantity could be wrong if loot_quantity is wrong, so we won't process this slot's loot.
@@ -2499,22 +2502,24 @@
                         -- The third return (Blizz calls "currency_link") of GetMerchantItemCostItem only returns item links as of Patch 5.3.0.
                         local texture_id, amount_required, hyperlink, name = _G.GetMerchantItemCostItem(item_index, cost_index)
 
-                        -- Try to get item ID
-                        local item_id = ItemLinkToID(hyperlink)
-
-                        -- FUTURE: At some point, we should make the output from these two cases (item_id vs currency_id) slightly different, so that WoWDB doesn't have to guess if it is a currency or item
-                        -- Handle cases when the additional cost is another item
-                        if item_id and item_id > 0 then
-                            currency_list[#currency_list + 1] = ("(%s:%d)"):format(amount_required, item_id)
-                        else
-                            -- Try to get currency ID
-                            local currency_id = CurrencyLinkToID(hyperlink)
-                            if currency_id and currency_id > 0 then
-                                currency_list[#currency_list + 1] = ("(%s:%d)"):format(amount_required, currency_id)
-                            else
-                                Debug("UpdateMerchantItems: Failed to get item ID and failed to get currency ID for item index %d and cost index %d", item_index, cost_index)
-                            end
-                        end
+						if hyperlink then 
+							-- Try to get item ID
+							local item_id = ItemLinkToID(hyperlink)
+
+							-- FUTURE: At some point, we should make the output from these two cases (item_id vs currency_id) slightly different, so that WoWDB doesn't have to guess if it is a currency or item
+							-- Handle cases when the additional cost is another item
+							if item_id and item_id > 0 then
+								currency_list[#currency_list + 1] = ("(%s:%d)"):format(amount_required, item_id)
+							else
+								-- Try to get currency ID
+								local currency_id = CurrencyLinkToID(hyperlink)
+								if currency_id and currency_id > 0 then
+									currency_list[#currency_list + 1] = ("(%s:%d)"):format(amount_required, currency_id)
+								else
+									Debug("UpdateMerchantItems: Failed to get item ID and failed to get currency ID for item index %d and cost index %d with hyperlink %s", item_index, cost_index, hyperlink)
+								end
+							end
+						end
                     end
 
                     for currency_index = 1, #currency_list do
@@ -2651,26 +2656,26 @@
 
 
 function WDP:QUEST_LOG_UPDATE(event_name)
-    local selected_quest = _G.GetQuestLogSelection() -- Save current selection to be restored when we're done.
+    local selected_quest = _G.C_QuestLog.GetSelectedQuest() -- Save current selection to be restored when we're done.
     local entry_index, processed_quests = 1, 0
-    local _, num_quests = _G.GetNumQuestLogEntries()
+    local _, num_quests = _G.C_QuestLog.GetNumQuestLogEntries()
 
     while processed_quests <= num_quests do
-        local _, _, _, is_header, _, _, _, quest_id = _G.GetQuestLogTitle(entry_index)
-
-        if quest_id == 0 then
+        local info = _G.C_QuestLog.GetInfo(entry_index)
+
+        if info.questID == 0 then
             processed_quests = processed_quests + 1
-        elseif not is_header then
-            _G.SelectQuestLogEntry(entry_index);
-
-            local quest = DBEntry("quests", quest_id)
+        elseif not info.isHeader then
+            _G.C_QuestLog.SetSelectedQuest(entry_index);
+
+            local quest = DBEntry("quests", info.questID)
             quest.timer = _G.GetQuestLogTimeLeft()
-            quest.can_share = _G.GetQuestLogPushable() and true or nil
+            quest.can_share = _G.C_QuestLog.IsPushableQuest(info.questID) and true or nil
             processed_quests = processed_quests + 1
         end
         entry_index = entry_index + 1
     end
-    _G.SelectQuestLogEntry(selected_quest)
+    _G.C_QuestLog.SetSelectedQuest(selected_quest)
     self:UnregisterEvent("QUEST_LOG_UPDATE")
 end
 
@@ -2691,6 +2696,8 @@
 end
 
 
+-- This functionality is broken and should be rethought entirely in the wake of 10.0
+--[[
 do
     local TRADESKILL_TOOLS = {
         Anvil = anvil_spell_ids,
@@ -2788,6 +2795,7 @@
     _G.SetTrainerServiceTypeFilter("unavailable", unavailable or 0)
     _G.SetTrainerServiceTypeFilter("used", used or 0)
 end
+]]--
 
 
 function WDP:UNIT_SPELLCAST_SENT(event_name, unit_id, spell_name, spell_rank, target_name, spell_line)
@@ -3009,6 +3017,7 @@
     end
 
 
+	-- manager_frame_id is 4 in case we need to merge this into that event
     function WDP:BANKFRAME_OPENED(event_name)
         WDP:StopChatLootRecording(event_name)
         SetUnitField("banker", private.UNIT_TYPES.NPC)
@@ -3022,7 +3031,7 @@
 
     local GOSSIP_SHOW_FUNCS = {
         [private.UNIT_TYPES.NPC] = function(unit_idnum)
-            local gossip_options = { _G.GetGossipOptions() }
+            local gossip_options = { _G.C_GossipInfo.GetOptions() }
 
             for index = 2, #gossip_options, 2 do
                 if gossip_options[index] == "binder" then
@@ -3037,6 +3046,7 @@
     }
 
 
+	-- manager_frame_id is 3 in case we need to merge this into that event
     function WDP:GOSSIP_SHOW(event_name)
         WDP:StopChatLootRecording(event_name)
         local unit_type, unit_idnum = ParseGUID(_G.UnitGUID("npc"))
@@ -3050,28 +3060,30 @@
     end
 
 
+	-- manager_frame_id is 10 in case we need to merge this into that event
     function WDP:GUILDBANKFRAME_OPENED(event_name)
         WDP:StopChatLootRecording(event_name)
         SetUnitField("guild_bank", private.UNIT_TYPES.OBJECT)
     end
 
 
-    function WDP:ITEM_UPGRADE_MASTER_OPENED(event_name)
-        SetUnitField("item_upgrade_master", private.UNIT_TYPES.NPC)
-    end
-
-
+	-- manager_frame_id is 6 in case we need to merge this into that event
     function WDP:TAXIMAP_OPENED(event_name)
         SetUnitField("flight_master", private.UNIT_TYPES.NPC)
     end
 
 
-    function WDP:TRANSMOGRIFY_OPEN(event_name)
-        SetUnitField("transmogrifier", private.UNIT_TYPES.NPC)
-    end
-
-
-    function WDP:VOID_STORAGE_OPEN(event_name)
-        SetUnitField("void_storage", private.UNIT_TYPES.NPC)
+    function WDP:PLAYER_INTERACTION_MANAGER_FRAME_SHOW(event_name, manager_frame_id)
+		if not manager_frame_id then
+			return
+		elseif manager_frame_id == 24 then
+			SetUnitField("transmogrifier", private.UNIT_TYPES.NPC)
+		elseif manager_frame_id == 26 then
+			WDP:StopChatLootRecording(event_name)
+			SetUnitField("void_storage", private.UNIT_TYPES.NPC)
+		elseif manager_frame_id == 53 then
+			WDP:StopChatLootRecording(event_name)
+			SetUnitField("item_upgrade_master", private.UNIT_TYPES.NPC)
+		end
     end
 end -- do-block
--- a/WoWDBProfiler.toc	Tue Jun 25 20:34:34 2019 -0400
+++ b/WoWDBProfiler.toc	Tue Aug 20 09:42:51 2024 -0400
@@ -1,4 +1,4 @@
-## Interface: 80200
+## Interface: 110002
 ## Title: WoWDB Profiler
 ## Notes: WoW datamining tool.
 ## Author: James D. Callahan III (Torhal)