From ef6bb553fdca4240471e14b4380785bf98df5c53 Mon Sep 17 00:00:00 2001 From: Ludovicus Date: Sat, 19 Oct 2019 13:38:41 -0400 Subject: [PATCH] #478: 'Send waypoint to' on arrow. --- TomTom_CrazyArrow.lua | 59 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/TomTom_CrazyArrow.lua b/TomTom_CrazyArrow.lua index 769435c..b8d520b 100755 --- a/TomTom_CrazyArrow.lua +++ b/TomTom_CrazyArrow.lua @@ -192,6 +192,19 @@ local function OnUpdate(self, elapsed) local angle = TomTom:GetDirectionToWaypoint(active_point) local player = GetPlayerFacing() + if not player then + if not TomTom:IsValidWaypoint(active_point) then + active_point = nil + -- Change the crazy arrow to point at the closest waypoint + if TomTom.profile.arrow.setclosest then + TomTom:SetClosestWaypoint() + return + end + end + self:Hide() + return + end + angle = angle - player local perc = math.abs((math.pi - math.abs(angle)) / math.pi) @@ -325,6 +338,12 @@ local dropdown_info = { isTitle = 1, }, { + -- Send waypoint + text = L["Send waypoint to"], + hasArrow = true, + value = "send", + }, + { -- Clear waypoint from crazy arrow text = L["Clear waypoint from crazy arrow"], func = function() @@ -373,7 +392,44 @@ local dropdown_info = { end end, }, - } + }, + [2] = { + send = { + { + -- Title + text = L["Waypoint communication"], + isTitle = true, + }, + { + -- Party + text = L["Send to party"], + func = function() + TomTom:SendWaypoint(TomTom.dropdown.uid, "PARTY") + end + }, + { + -- Raid + text = L["Send to raid"], + func = function() + TomTom:SendWaypoint(TomTom.dropdown.uid, "RAID") + end + }, + { + -- Battleground + text = L["Send to battleground"], + func = function() + TomTom:SendWaypoint(TomTom.dropdown.uid, "BATTLEGROUND") + end + }, + { + -- Guild + text = L["Send to guild"], + func = function() + TomTom:SendWaypoint(TomTom.dropdown.uid, "GUILD") + end + }, + }, + }, } local function init_dropdown(self, level) @@ -406,6 +462,7 @@ end local function WayFrame_OnClick(self, button) if active_point then if TomTom.db.profile.arrow.menu then + TomTom.dropdown.uid = active_point UIDropDownMenu_Initialize(TomTom.dropdown, init_dropdown) ToggleDropDownMenu(1, nil, TomTom.dropdown, "cursor", 0, 0) end -- 1.7.9.5