Mercurial > wow > wowdb-profiler
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