From 41356957c4a3032316e03b82ea55056c9dfb67a8 Mon Sep 17 00:00:00 2001 From: Jennifer Date: Sat, 14 Sep 2019 22:23:43 +0100 Subject: [PATCH] 121019 --- CHANGELOG.txt | 12 ++++ EMA-Classic.toc | 2 +- Locales/Classic-Core-Locale-enUS.lua | 4 ++ Modules/Quest-Classic.lua | 103 +++++++++++++++++++++++----------- 4 files changed, 87 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index f197e62..17f2a1d 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -2,6 +2,18 @@ ChangeLogs: --------------------------- +EMA Version: v1.13.2-Release-v0.5(121019) +Game Version: 1.13.2 +Release Date: 14/9/2019 + +## Quest + - Can Now Use Blizzard Ui Abandon Button And After It Ask If You Like To Do This On All Toons. + - Added Track And Untrack Quest Buttons For Single Quests For All Of Team. + - Fixed a bug where it was not showing at the bottom of the EvlUI frame. + + +--------------------------- + EMA Version: v1.13.2-Release-v0.5(121018) Game Version: 1.13.2 Release Date: 14/9/2019 diff --git a/EMA-Classic.toc b/EMA-Classic.toc index 51968fc..a40b9fe 100644 --- a/EMA-Classic.toc +++ b/EMA-Classic.toc @@ -2,7 +2,7 @@ ## Title: EMA-Classic ## Notes: Ebony's MultiBoxing Assistant Classic ## Author: Jennifer Calladine 'Ebony' -## Version: v1.13.2-Release-v0.3(121018) +## Version: v1.13.2-Release-v0.5(121019) ## SavedVariables: CoreProfileDB, CommunicationsProfileDB, TeamProfileDB, TagProfileDB, MessageProfileDB, CurrProfileDB, DisplayTeamProfileDB, FollowProfileDB, GuildProfileDB, InteractionProfileDB, ItemUseProfileDB, PurchaseProfileDB, QuestProfileDB, QuestWatcherProfileDB, SellProfileDB, TalkProfileDB, ToonProfileDB, TradeProfileDB, MailProfileDB, ISBoxerProfileDB #Libs diff --git a/Locales/Classic-Core-Locale-enUS.lua b/Locales/Classic-Core-Locale-enUS.lua index 31cbc58..9cf9f71 100644 --- a/Locales/Classic-Core-Locale-enUS.lua +++ b/Locales/Classic-Core-Locale-enUS.lua @@ -821,6 +821,10 @@ L["SHARING_QUEST_TO_ALLMINIONS"] = "Sharing Quests To All Minions" L["TRACKING_QUEST_TO_ALLMINIONS"] = "Tracking Quests To All Minions" L["UNTRACKING_QUESTS_ALLMINIONS"] = "Untracking Quests To All Minions" L["TOGGLE"] = "Toggle" +L["TRACK_SINGLE_QUEST"] = "Track Selected" +L["TRACK_SINGLE_QUEST_TOOLTIP"] = "Track The Selected Quest" +L["UNTRACK_SINGLE_QUEST"] = "UnTrack Selected" +L["UNTRACK_SINGLE_QUEST_TOOLTIP"] = "UnTrack The Selected Quest" L["ABANDON_ALL"] = "Abandon All Quests" L["ABANDON_ALL_TOOLTIP"] = "Aabandon All Quests On All Minions" L["SHARE_ALL"] = "Share All" diff --git a/Modules/Quest-Classic.lua b/Modules/Quest-Classic.lua index 7fc8f99..d6b6d99 100644 --- a/Modules/Quest-Classic.lua +++ b/Modules/Quest-Classic.lua @@ -152,24 +152,17 @@ local function InitializePopupDialogs() -- Asks If you like to Abandon on all toons StaticPopupDialogs["EMAQUEST_ABANDON_ALL_TOONS"] = { text = L["ABANDON_QUESTS_TEAM"], - button1 = L["JUST_ME"], - button2 = L["ALL_TEAM"], - button3 = NO, + button1 = YES, + button2 = NO, timeout = 0, whileDead = 1, hideOnEscape = 1, - OnAccept = function( self ) - --EMA:Print("Button1") - AbandonQuest() - end, - OnAlt = function ( self ) - --EMA:Print("Button3") - - end, - OnCancel = function( self, data ) - --EMA:Print("Button2") + OnAccept = function( self, data ) + -- EMA:Print("button1", data.questID, data.title ) EMA:EMASendCommandToTeam( EMA.COMMAND_ABANDON_QUEST, data.questID, data.title) - end, + end, + OnCancel = function( self ) + end, } -- Asks If you like to Track on all toons StaticPopupDialogs["EMA_QUEST_TRACK_ALL_TOONS"] = { @@ -262,8 +255,8 @@ function EMA:OnEnable() EMA:SecureHook( "ToggleFrame" ) EMA:SecureHook( "ToggleQuestLog" ) EMA:SecureHook( "ShowQuestComplete" ) --- EMA:SecureHookScript (StaticPopup_Show, "ABANDON_QUEST_WITH_ITEMS", AbandonButtonQuest ) --- EMA:SecureHook( QuestLogFrameAbandonButton_OnClick ) + EMA:SecureHook( "AbandonQuest" ) +-- EMA:SecureHook( "QuestWatch_Update" ) -- EMA:SecureHook( "QuestMapQuestOptions_TrackQuest" ) -- EMA:SecureHook( "QuestLog" ) end @@ -1635,6 +1628,19 @@ end -- EMA QUEST CONTEXT MENU ------------------------------------------------------------------------------------------------------------- +function EMA:QuestWatch_Update() + local lastQuestIndex = GetQuestLogSelection() + local title, _, _, _, _, _, _, questID = GetQuestLogTitle(lastQuestIndex) + EMA:Print("test", questID ) + if ( IsQuestWatched(lastQuestIndex) ) then + --EMA:Print("TrackingQuest") + EMA:EMASendCommandToTeam( EMA.COMMAND_QUEST_TRACK, questID, title, true ) + else + --EMA:Print("UnTrackQuest") + EMA:EMASendCommandToTeam( EMA.COMMAND_QUEST_TRACK, questID, title, false ) + end +end + local function EMAApiAbandonQuests(questID, questText) --EMA:Print(questID, questText) title = questText @@ -1656,18 +1662,19 @@ local function EMAApiTrackAllQuests() EMA:ScheduleTimer("EMASendCommandToTeam", 1, EMA.COMMAND_TRACK_ALL_QUESTS) end -function EMA:AbandonButtonQuest(questID) + +function EMA:AbandonQuest () if EMAApi.GetTeamListMaximumOrderOnline() > 1 then local lastQuestIndex = GetQuestLogSelection() - EMA:Print("SetAbandonQuest", lastQuestIndex, questID) + local _, _, _, _, _, _, _, questID = GetQuestLogTitle(lastQuestIndex) + --EMA:Print("SetAbandonQuest", lastQuestIndex, questID) title = GetAbandonQuestName() local data = {} data.questID = questID data.title = title - StaticPopup_Hide( "ABANDON_QUEST" ) - StaticPopup_Hide( "ABANDON_QUEST_WITH_ITEMS" ) StaticPopup_Show( "EMAQUEST_ABANDON_ALL_TOONS", title, nil, data ) end + end function EMA:QuestObjectiveTracker_UntrackQuest(dropDownButton, questID) @@ -1698,8 +1705,10 @@ function EMA:QuestMapQuestOptions_EMA_DoQuestTrack( sender, questID, title, trac local questLogIndex = GetQuestLogIndexByID( questID ) if questLogIndex ~= 0 then if track then + isInternalCommand = true EMA:EMADoQuest_TrackQuest( questID, questLogIndex ) else + isInternalCommand = true EMA:EMADoQuest_UnTrackQuest( questID, questLogIndex ) end else @@ -1709,13 +1718,15 @@ end function EMA:EMADoQuest_TrackQuest(questID, questLogIndex) --EMA:Print("test", questID, questLogIndex ) - if ( not IsQuestWatched(questID) ) then - AddQuestWatch(questLogIndex, true) - AutoQuestWatch_Insert(questLogIndex, QUEST_WATCH_NO_EXPIRE) - QuestWatch_Update() - end - QuestLog_SetSelection(questLogIndex) - QuestLog_Update() + if EMA.isInternalCommand == false then + if ( not IsQuestWatched(questID) ) then + AddQuestWatch(questLogIndex, true) + AutoQuestWatch_Insert(questLogIndex, QUEST_WATCH_NO_EXPIRE) + QuestWatch_Update() + end + QuestLog_SetSelection(questLogIndex) + QuestLog_Update() + end end @@ -1732,12 +1743,14 @@ end function EMA:QuestMapQuestOptions_EMA_DoAbandonQuest( sender, questID, title ) local questLogIndex = GetQuestLogIndexByID( questID ) if questLogIndex ~= 0 then + EMA:Unhook( "AbandonQuest" ) local lastQuestIndex = GetQuestLogSelection(); SelectQuestLogEntry(GetQuestLogIndexByID(questID)); SetAbandonQuest(); AbandonQuest(); SelectQuestLogEntry(lastQuestIndex); EMA:EMASendMessageToTeam( EMA.db.messageArea, L["QUESTLOG_HAVE_ABANDONED_QUEST"]( title ), false ) + EMA:SecureHook( "AbandonQuest" ) end end @@ -1748,14 +1761,18 @@ function EMA:CreateEMAMiniQuestLogFrame() EMAMiniQuestLogFrame = CreateFrame( "Frame", "EMAMiniQuestLogFrame", QuestLogFrame ) local frame = EMAMiniQuestLogFrame frame:SetWidth( 270 ) - frame:SetHeight( 60 ) + frame:SetHeight( 80 ) frame:SetFrameStrata( "HIGH" ) frame:SetToplevel( true ) frame:SetClampedToScreen( true ) frame:EnableMouse( true ) frame:SetMovable( true ) frame:ClearAllPoints() - frame:SetPoint("BOTTOMLEFT", QuestLogFrame, "BOTTOMLEFT", 40, -10) + if IsAddOnLoaded("ElvUI" ) == true then + frame:SetPoint("BOTTOMLEFT", QuestLogFrame, "BOTTOMLEFT", 40, -80) + else + frame:SetPoint("BOTTOMLEFT", QuestLogFrame, "BOTTOMLEFT", 40, -30) + end frame:SetBackdrop( { bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", @@ -1763,10 +1780,30 @@ function EMA:CreateEMAMiniQuestLogFrame() insets = { left = 5, right = 5, top = 5, bottom = 5 } } ) table.insert( UISpecialFrames, "EMAQuestLogWindowFrame" ) + -- Single Track Button + local singleTrackButton = CreateFrame( "Button", "singleTrackButton", frame, "UIPanelButtonTemplate" ) + singleTrackButton:SetScript( "OnClick", function() local lastQuestIndex = GetQuestLogSelection() local title, _, _, _, _, _, _, questID = GetQuestLogTitle(lastQuestIndex) EMA:EMASendCommandToTeam( EMA.COMMAND_QUEST_TRACK, questID, title, true ) end ) + singleTrackButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 30 , -10) + singleTrackButton:SetHeight( 20 ) + singleTrackButton:SetWidth( 100 ) + singleTrackButton:SetText( L["TRACK_SINGLE_QUEST"] ) + singleTrackButton:SetScript("OnEnter", function(self) EMA:ShowTooltip(trackButton, true, L["TRACK_SINGLE_QUEST_TOOLTIP"]) end) + singleTrackButton:SetScript("OnLeave", function(self) GameTooltip:Hide() end) + singleTrackQuestLogWindowAbandonFrameButton = singleTrackButton + -- Single unTrack Button + local singleUnTrackButton = CreateFrame( "Button", "singleUnTrackButton", frame, "UIPanelButtonTemplate" ) + singleUnTrackButton:SetScript( "OnClick", function() local lastQuestIndex = GetQuestLogSelection() local title, _, _, _, _, _, _, questID = GetQuestLogTitle(lastQuestIndex) EMA:EMASendCommandToTeam( EMA.COMMAND_QUEST_TRACK, questID, title, false ) end ) + singleUnTrackButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 140 , -10) + singleUnTrackButton:SetHeight( 20 ) + singleUnTrackButton:SetWidth( 120 ) + singleUnTrackButton:SetText( L["UNTRACK_SINGLE_QUEST"] ) + singleUnTrackButton:SetScript("OnEnter", function(self) EMA:ShowTooltip(trackButton, true, L["UNTRACK_SINGLE_QUEST_TOOLTIP"]) end) + singleUnTrackButton:SetScript("OnLeave", function(self) GameTooltip:Hide() end) + singleUnTrackQuestLogWindowAbandonFrameButton = singleUnTrackButton -- abandon ALL button local abandonButton = CreateFrame( "Button", "abandonButton", frame, "UIPanelButtonTemplate" ) abandonButton:SetScript( "OnClick", function() StaticPopup_Show("EMA_ABANDON_ALL_TOON_QUEST") end ) - abandonButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 10 , -10) + abandonButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 10 , -30) abandonButton:SetHeight( 20 ) abandonButton:SetWidth( 150 ) abandonButton:SetText( L["ABANDON_ALL"] ) @@ -1776,7 +1813,7 @@ function EMA:CreateEMAMiniQuestLogFrame() -- Share All Button local shareButton = CreateFrame( "Button", "shareButton", frame, "UIPanelButtonTemplate" ) shareButton:SetScript( "OnClick", function() EMA:DoShareAllQuestsFromAllToons() end ) - shareButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 160, -10) + shareButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 160, -30) shareButton:SetHeight( 20 ) shareButton:SetWidth( 100 ) shareButton:SetText( L["SHARE_ALL"] ) @@ -1786,7 +1823,7 @@ function EMA:CreateEMAMiniQuestLogFrame() --Track All Button local trackButton = CreateFrame( "Button", "trackButton", frame, "UIPanelButtonTemplate" ) trackButton:SetScript( "OnClick", function() EMA:DoTrackAllQuestsFromAllToons() end ) - trackButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 35, -30) + trackButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 35, -50) trackButton:SetHeight( 20 ) trackButton:SetWidth( 100 ) trackButton:SetText( L["TRACK_ALL"] ) @@ -1796,7 +1833,7 @@ function EMA:CreateEMAMiniQuestLogFrame() -- Untrack All local unTrackButton = CreateFrame( "Button", "unTrackButton", frame, "UIPanelButtonTemplate" ) unTrackButton:SetScript( "OnClick", function() EMA:DoUnTrackAllQuestsFromAllToons() end ) - unTrackButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 160, -30) + unTrackButton:SetPoint( "TOPLEFT", frame, "TOPLEFT", 160, -50) unTrackButton:SetHeight( 20 ) unTrackButton:SetWidth( 100 ) unTrackButton:SetText( L["UNTRACK_ALL"] ) -- 1.7.9.5