Macro for hiding Quest Objectives in tooltip (2024)

Ive tried

/console showQuestTrackingTooltips 0

and

/run SetCVar(“showQuestTrackingTooltips”, 0)

and neither seem to work (or at least not in 2024, as both were suggested back in 2020)

Ive managed to find macro commands to hide every other part of Quest Tracking (for when I do immersive lore/quest runs on my alts) - this is the last piece of the puzzle for me

As for a reason - I like reading the quest text and then finding said mobs myself; the tooltip having Quest Objectives hinders this

Thank you in advance!

That CVar was removed.

You’d need to hook into GameTooltip_AddQuestRewardsToTooltip and kill it from the look of things.

https://github.com/Gethe/wow-ui-source/blob/6b65c2922baca3db5a28fb39b69c95cef1047bec/Interface/AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua#L281

1 Like

By ‘kill’- do you mean just delete it and all its following text? Is there something I can add to it just to break it instead of deleting it all?

I know how to type some commands in but working around code I have no clue lol

Try

/run QuestScrollFrame.Contents.StoryHeader:SetScript("OnEnter", nil) hooksecurefunc("QuestMapLogTitleButton_OnEnter", function() GameTooltip:Hide() end)

If it works well enough you can copy/paste everything but the /run to the website addon.bool.no to create/download as a small addon so you don’t have to run the macro each login.

1 Like

Didnt seem to work unfortunately

Edit: I could also be misunderstanding how to use these ideas

Fizz’s I put into a macro and didnt work; Elven’s I cant find the file to edit

I’m assuming this is for retail?

You should be able to copy/paste everything to chat and press Enter or put it in a macro.

1 Like

There is no file to edit, you need to modify the behavior using the techniques like Fizzle’s describing.

That said, if I’m reading it correctly, Fizzle’s code appears to be coded to only trigger when you mouseover the quest log.

1 Like

You read correctly. I don’t know what the CVar used to do so I was winging it. I can look again if I get a clue…

1 Like

It removed the quest tracking data from all tooltips. So like if you mouseover a mob or item that’s part of a quest it wouldn’t show “x/y needed” etc. in the tooltip.
https://i.imgur.com/IrsNGHy.png

[added]
Oh, I had the wrong function linked originally. I think GameTooltip_AddQuest is the one adding the info.

https://github.com/Gethe/wow-ui-source/blob/6b65c2922baca3db5a28fb39b69c95cef1047bec/Interface/AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua#L281

2 Likes

That looks better.

/run hooksecurefunc("GameTooltip_AddQuest", function() GameTooltip:Hide() end)

Which is just a simple tooltip killer.

Too large for a macro but could be pasted to addon.bool.no for something a bit less agressive:

local function TaskTT(self, skipSetOwner)
	GameTooltip:Hide()
	if not skipSetOwner then
		GameTooltip:SetOwner(self, "ANCHOR_RIGHT");
	end

	if ( not HaveQuestData(self.questID) ) then
		GameTooltip_SetTitle(GameTooltip, RETRIEVING_DATA, RED_FONT_COLOR);
		GameTooltip_SetTooltipWaitingForData(GameTooltip, true);
		GameTooltip:Show();
		return;
	end

	if C_QuestLog.IsQuestCalling(self.questID) then
		CallingPOI_OnEnter(self);
		return;
	end
	local questID = self.questID or questID;
	if ( not HaveQuestData(questID) ) then
		GameTooltip_SetTitle(GameTooltip, RETRIEVING_DATA, RED_FONT_COLOR);
		GameTooltip_SetTooltipWaitingForData(GameTooltip, true);
		GameTooltip:Show();
	end

	local widgetSetAdded = false;
	local widgetSetID = C_TaskQuest.GetQuestTooltipUIWidgetSet(questID);

	local title, factionID, capped = C_TaskQuest.GetQuestInfoByQuestID(questID);
	if ( self.worldQuest or C_QuestLog.IsWorldQuest(questID)) then
		self.worldQuest = true;
		local tagInfo = C_QuestLog.GetQuestTagInfo(self.questID);
		local quality = tagInfo and tagInfo.quality or Enum.WorldQuestQuality.Common;
		local color = WORLD_QUEST_QUALITY_COLORS[quality].color;
		GameTooltip_SetTitle(GameTooltip, title, color);
		QuestUtils_AddQuestTypeToTooltip(GameTooltip, questID, NORMAL_FONT_COLOR);

		local factionName = factionID and GetFactionInfoByID(factionID);
		if (factionName) then
			local reputationYieldsRewards = (not capped) or C_Reputation.IsFactionParagon(factionID);
			if (reputationYieldsRewards) then
				GameTooltip:AddLine(factionName);
			else
				GameTooltip:AddLine(factionName, GRAY_FONT_COLOR:GetRGB());
			end
		end

		GameTooltip_AddQuestTimeToTooltip(GameTooltip, questID);
	elseif ( self.isThreat or C_QuestLog.IsThreatQuest(questID)) then
		GameTooltip_SetTitle(GameTooltip, title);
		GameTooltip_AddQuestTimeToTooltip(GameTooltip, questID);
	else
		GameTooltip_SetTitle(GameTooltip, title, NORMAL_FONT_COLOR);
	end
	GameTooltip:Show();

	EventRegistry:TriggerEvent("TaskPOI.TooltipShown", self, self.questID, self);
end
hooksecurefunc("GameTooltip_AddQuest", TaskTT)
2 Likes

Thanks a ton @Fizzlemizz and @Elvenbane for helping out

I tried posting that newer wall of text into the addon website you recommended and loaded in - unfortunately it did not work

Im sure there is an addon that may do this for me - or even just a workaround (for our own sanity) - but I appreciate the help thus far, so dont feel obligated to continue trying

Edit: I also could just use a macro that temporarily hides the tooltip when Im hunting down quest mobs (perhaps a toggle on/off macro for default tooltip); really the only purpose of my asking in this thread is so quest objectives dont have any features labeling them as such, as to immerse myself

I also must say this makes me want to jump into coding lol

Double Edit: I even found this thread that @Fizzlemizz is also in (lol) and tried the macro at the bottom, but to no avail - this ability to toggle would also suffice. Turn Off Tootips - Guides / UI and Macro - World of Warcraft Forums (blizzard.com)

I guess I’m at a loss as to which part of which tooltip(s) you want to remove and can’t make it out exactly from the description.

Ill do my best to describe

Id like a way to either;

  • remove any Quest Information from the tooltip when hovering/clicking over NPCs
    or
  • toggle the entirety of tooltips on and off with a simple macro, as to hide it when looking around for quest NPCs

Edit: But its okay - if its fun for you (or anyone else) to try and figure this out, ill gladly use it when it works! However Im going to try a new avenue with the Immersive app and hiding things in certain situations. Again, thanks so much for the help!

Very limited testing and there’s probably more refined ways of doing this so with that in mind (read unknown consequences):

-- remove map POI information
local function TaskTT(sender, self, questID, isGroup)
	GameTooltip:Hide()
	local questID = self.questID or self:GetQuestID();
	local questLogIndex = C_QuestLog.GetLogIndexForQuestID(questID);
	local title = C_QuestLog.GetTitleForQuestID(questID);
	GameTooltip:SetOwner(self, "ANCHOR_CURSOR_RIGHT", 5, 2);
	GameTooltip:SetText(title);
end
EventRegistry:RegisterCallback("TaskPOI.TooltipShown", TaskTT)
EventRegistry:RegisterCallback("MapCanvas.QuestPin.OnEnter", TaskTT)
EventRegistry:RegisterCallback("QuestMapLogTitleButton.OnEnter", TaskTT)
EventRegistry:RegisterCallback("OnQuestBlockHeader.OnEnter", TaskTT)
EventRegistry:RegisterCallback("TaskPOI.TooltipShown", TaskTT)

-- remove world tooltip information
hooksecurefunc(GameTooltip, "SetWorldCursor", function(self)
	if not GameTooltip:IsShown() then return end
	GameTooltip:Hide()
	GameTooltip_SetDefaultAnchor(self, UIParent);
	local tooltipData = C_TooltipInfo.GetWorldCursor()
	if tooltipData then
		local ignoreLines
		if tooltipData.lines then
			for i=1, #tooltipData.lines do
				for k, v in pairs(tooltipData.lines[i]) do
					if k == "id" then
						ignoreLines = i
						break
					end
				end
			end
			if ignoreLines then
				for i=#tooltipData.lines, ignoreLines, -1 do
					tooltipData.lines[i] = nil
				end
			end
		end
		local tooltipInfo = {
			getterName = "GetWorldCursor",
			tooltipData = tooltipData,
			fadeOut = anchorType == Enum.WorldCursorAnchorType.Default,
		};
		self:ProcessInfo(tooltipInfo);
	end
end)

May also have problems if you have another addon that also interacts with the tooltips.

2 Likes