diff --git a/Changelog and Notes.txt b/Changelog and Notes.txt index a30e1d9..0529d2b 100644 --- a/Changelog and Notes.txt +++ b/Changelog and Notes.txt @@ -1,40 +1,75 @@ - TODO List: - -Backport: +-------------------------------------------------------------------------------- +-- Backport to-do: +-------------------------------------------------------------------------------- -Need to fix transparency of settings in Settings main window. -May be backport retail quest accept. + +Main Panel - Need to fix transparency of settings in Settings main window. + +AutoQuest - May be backport retail quest accept. +-------------------------------------------------------------------------------- +-- What needs to be tested: +-------------------------------------------------------------------------------- -Functions: +Auto-Ress in BG - With option "Exclude Alterac" will it not auto-res in Alterac BG? + + + +-------------------------------------------------------------------------------- +-- Functions to-do: +-------------------------------------------------------------------------------- + + +AutoGossip - Add user defined NPCID to automate gossipX (any option) + +AutoGossip - Add ability to automate gossip cycles. (if after first gossip need to select more gossips) + +AutoGossip - Add + +Minimap enhance - Add NPC specific tracking icons on minimap. + +Ready Timer - for RDF/BG + +Automation - Remove transforms ( Jack-o'-Lantern, Hallowed Wand, Witch, Turkey and Spraybot transformations? etc. ) + +Interraction bindings - Add Quest / Vendor Bindings ( e.g. keyboard keys for Inkeepeer: 1 - Set Home, 2 - Vendor; ) + +World Map - Reveal Map + +Action Bar - Make buttons full red if out of range (instead of blizzard red text only) + +Auto-Spirit Res. - Add function to auto ressurect once interracted with Spirit Healer + +Error Frame - Allow some error texts like mining, herbing + +Error Frame - Allow only one line of error text option + +Tooltip - If player has tooltip hidden in combat, make an option to toggle tooltip if "Alt" key is hold. + +Faster Loot - Make the config options (disable sound, change sound, error filter, smaller error frame, faster fading - make all this optional) + + + +-------------------------------------------------------------------------------- +-- Not sure if need to do yet: +-------------------------------------------------------------------------------- + -Add NPC specific tracking icons on minimap. - Improve Quest Accept conditions (aka skip welcome window and block shared aka escort quests) - Frame mover - Square minimap - Restore Chat Messages history after relog - Hide keybind text - Hide macro text - Resize mail text - Train All Button - Ready Timer for RDF/BG -Copy chat links Links to wowhead-wotlk in Quest Log for every quest. - Remove transforms (Jack-o'-Lantern, Hallowed Wand, Witch, Turkey and Spraybot transformations? etc.) - Flight Path timer -Import Quest / Vendor Bindings -Make Action Bar buttons full red if out of range (instead of blizzard text red only) -Auto-Spirit Res. -Allow some error texts like mining, herbing -Allow only one line of error text option -If player has tooltip hidden in combat, make an option to toggle tooltip if "Alt" key is hold. +Improve Quest Accept conditions (aka skip welcome window and block shared aka escort quests) Add more tweaks to Auction House extras module. -Need to add exceptions for automating the gossip. (But first need to find NPCs that need exceptions, or make user be able to add exceptions) -Make the config options for Faster Loot module. (disable sound, change sound, error filter, smaller error frame, faster fading - make all this optional) +Square minimap +Restore Chat Messages history after relog +Hide keybind text +Hide macro text +Resize mail text +Train All Button +Copy chat links + diff --git a/Leatrix_Plus.lua b/Leatrix_Plus.lua index c00f623..f06ef9d 100644 --- a/Leatrix_Plus.lua +++ b/Leatrix_Plus.lua @@ -1524,24 +1524,24 @@ end end - -- Reset Message flag when gossip window is closed - local function ResetMessageFlag() - isMessagePrinted = false - end - - -- Create gossip event frame - local gossipFrame = CreateFrame("FRAME") - - -- Function to setup events - local function SetupEvents() - if LeaPlusLC["AutomateGossip"] == "On" then - gossipFrame:RegisterEvent("GOSSIP_SHOW") - gossipFrame:RegisterEvent("GOSSIP_CLOSED") -- Added line to register GOSSIP_CLOSED event - else - gossipFrame:UnregisterEvent("GOSSIP_SHOW") - gossipFrame:UnregisterEvent("GOSSIP_CLOSED") -- Added line to unregister GOSSIP_CLOSED event + -- Reset Message flag when gossip window is closed + local function ResetMessageFlag() + isMessagePrinted = false + end + + -- Create gossip event frame + local gossipFrame = CreateFrame("FRAME") + + -- Function to setup events + local function SetupEvents() + if LeaPlusLC["AutomateGossip"] == "On" then + gossipFrame:RegisterEvent("GOSSIP_SHOW") + gossipFrame:RegisterEvent("GOSSIP_CLOSED") -- Added line to register GOSSIP_CLOSED event + else + gossipFrame:UnregisterEvent("GOSSIP_SHOW") + gossipFrame:UnregisterEvent("GOSSIP_CLOSED") -- Added line to unregister GOSSIP_CLOSED event + end end - end -- Setup events when option is clicked and on startup (if option is enabled) LeaPlusCB["AutomateGossip"]:HookScript("OnClick", SetupEvents) @@ -1577,44 +1577,51 @@ } + --===== create ignore NPC table to not mess with npcTable and for future user options =====-- + local npcIgnore = { + + -- Innkeepers + 5111, 6740 + + } - - -- Event handler - gossipFrame:SetScript("OnEvent", function(self, event, ...) - if event == "GOSSIP_SHOW" then - -- Special treatment for specific NPCs - local npcGuid = UnitGUID("target") or nil - if npcGuid and not IsShiftKeyDown() then - local npcID = LibCompat.GetUnitCreatureId("target") - -- print(npcID) - if npcID then - -- Open rogue doors in Dalaran (Broken Isles) automatically - if npcID == "96782" -- Lucian Trias - or npcID == "93188" -- Mongar - or npcID == "97004" -- "Red" Jack Findle - then - SkipGossip() - return - end - -- Skip gossip with no alt key requirement - if npcID == "132969" -- Katy Stampwhistle (toy) - or npcID == "104201" -- Katy Stampwhistle (npc) - or tContains(npcTable, tonumber(npcID)) - then - SkipGossip(true) -- true means skip alt key requirement - return + -- Event handler + gossipFrame:SetScript("OnEvent", function(self, event, ...) + if event == "GOSSIP_SHOW" then + -- Special treatment for specific NPCs + local npcGuid = UnitGUID("target") or nil + if npcGuid and not IsShiftKeyDown() then + local npcID = LibCompat.GetUnitCreatureId("target") + -- print(npcID) + if npcID then + -- Open rogue doors in Dalaran (Broken Isles) automatically + if npcID == "96782" -- Lucian Trias + or npcID == "93188" -- Mongar + or npcID == "97004" -- "Red" Jack Findle + then + SkipGossip() + return + end + -- Skip gossip with no alt key requirement + if npcID == "132969" -- Katy Stampwhistle (toy) + or npcID == "104201" -- Katy Stampwhistle (npc) + or tContains(npcTable, tonumber(npcID)) + and not tContains(npcIgnore, tonumber(npcID)) + then + SkipGossip(true) -- true means skip alt key requirement + return + end end end + -- Process gossip + SkipGossip() + + elseif event == "GOSSIP_CLOSED" then + -- Reset Message flag when gossip window is closed + ResetMessageFlag() end - -- Process gossip - SkipGossip() - - elseif event == "GOSSIP_CLOSED" then - -- Reset Message flag when gossip window is closed - ResetMessageFlag() - end - end) + end) end @@ -7034,11 +7041,11 @@ -- Release in battlegrounds hooksecurefunc("StaticPopup_Show", function(sType) if sType and sType == "DEATH" and LeaPlusLC["AutoReleasePvP"] == "On" then - if C_DeathInfo.GetSelfResurrectOptions() and #C_DeathInfo.GetSelfResurrectOptions() > 0 then return end + if HasSoulstone() then return end local InstStat, InstType = IsInInstance() if InstStat and InstType == "pvp" then -- Exclude specific maps - local mapID = C_Map.GetBestMapForUnit("player") or nil + local mapID = GetCurrentMapAreaID() or nil -- 2.4.3 need test if mapID then if mapID == 1459 and LeaPlusLC["AutoReleaseNoAlterac"] == "On" then return end -- Alterac Valley end