From 56241be31fa50df2ce3e6b8cb2dd80c5585da0f8 Mon Sep 17 00:00:00 2001 From: Alex Shubert Date: Thu, 4 Oct 2012 17:29:57 +0400 Subject: [PATCH] watchLog quest levels added --- AutoTurnIn.lua | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/AutoTurnIn.lua b/AutoTurnIn.lua index 039022b..bbfb8cb 100644 --- a/AutoTurnIn.lua +++ b/AutoTurnIn.lua @@ -528,7 +528,7 @@ function AutoTurnIn:QUEST_COMPLETE() end end -local QuestLevelFormat = " [%d] %s" +AutoTurnIn.QuestLevelFormat = " [%d] %s" function AutoTurnIn:ShowQuestLevelInLog() -- see function QuestLog_Update() in function QuestLogFrame.lua for details local scrollOffset = HybridScrollFrame_GetOffset(QuestLogScrollFrame); @@ -540,12 +540,12 @@ function AutoTurnIn:ShowQuestLevelInLog() if ( questIndex <= numEntries ) then local title, level, _, _, isHeader = GetQuestLogTitle(questIndex); if (not isHeader and title) then - button:SetText(QuestLevelFormat:format(level, title)) + button:SetText(AutoTurnIn.QuestLevelFormat:format(level, title)) QuestLogTitleButton_Resize(button) end end end -end +end -- gossip and quest interaction goes through a sequence of windows: gossip [shows a list of available quests] - quest[describes specified quest] -- sometimes some parts of this chain is skipped. For example, priest in Honor Hold show quest window directly. This is a trick to handle 'toggle key' @@ -554,4 +554,39 @@ hooksecurefunc(QuestFrame, "Hide", function() AutoTurnIn.allowed = nil end) -- Quest level in a log. hooksecurefunc("QuestLog_Update", AutoTurnIn.ShowQuestLevelInLog) hooksecurefunc(QuestLogScrollFrame, "update", AutoTurnIn.ShowQuestLevelInLog) --- WatchFrameAutoQuestPopUp1 \ No newline at end of file + +AutoTurnIn.WatchFrameLevelFormat = "[%d%s%s] %s" +AutoTurnIn.QuestTypesIndex = { + [0] = "", --default + [1] = "g", --Group + [41] = "+", --PvP + [62] = "r", --Raid + [81] = "d", --Dungeon + [83] = "L", --Legendary + [85] = "h", --Heroic + [98] = "s", --Scenario QUEST_TYPE_SCENARIO + [102] = "a", -- Account +} +function AutoTurnIn:ShowQuestLevelInWatchFrame() + for i = 1, #WATCHFRAME_LINKBUTTONS do + button = WATCHFRAME_LINKBUTTONS[i] + + if( button.type == "QUEST" ) then + local questIndex = GetQuestIndexForWatch(button.index) + if questIndex then + local textLine = button.lines[button.startLine] + if textLine.text:GetText() and (not string.find("", "^%[.*%].*")) then + local title, level, _, _, _, _, _, isDaily = GetQuestLogTitle(questIndex) + local questTypeIndex = GetQuestLogQuestType(questIndex) + tagString = AutoTurnIn.QuestTypesIndex[questTypeIndex] + if (not tagString) then + self:Print("Please, inform addon author unknown QT for: " ..title) + tagString = "" + end + textLine.text:SetText(AutoTurnIn.WatchFrameLevelFormat:format(level, tagString, isDaily and "\*" or "", title)) + end + end + end + end +end +hooksecurefunc("WatchFrame_Update", AutoTurnIn.ShowQuestLevelInWatchFrame); \ No newline at end of file -- 1.7.9.5