64df5f1f90
* update to release 7.3.1 * minor tweaks - tweaked the drop location text to display a bit more cleanly - added boss sigils to bc raid tables - added right click context menu to boss name list so you can open db to that boss (only has raids atm) - the All dungeon items list now wont precache past the normal loot * fixs and text display change - updated old locations to have new display - frame now sits on top when selected - fixed some incorrect ids * favorites button change/loot table updates - Changed how favorites buttons are saved you now alt right click them to save - Added missing new t0 sets to classic dungeon sets - Added missing new trash loot weapons to Black temple * minor changes/fixs - fixed t3 incorrect itemids - added heroic bloodforged * merg from main repo * bug fix and item removals - some quest tooltip was showing up incorrect - removed depreciated high risk patterns * swapped to using ItemButtonTemplate for popup window buttons * added all the new heirloom items * all the changes from main git up to 7.3.9 * update to version 7.3.15 * Revert "Merge branch 'main' into anch-main" This reverts commit 8db63dc268f910dcc1df31d50072735263eeda58, reversing changes made to f536a382a8fce401e0d8dcfaae8eb0a2c61f1e08.
605 lines
26 KiB
Lua
605 lines
26 KiB
Lua
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
|
local WHITE = "|cffFFFFFF"
|
|
local GREEN = "|cff1eff00"
|
|
local BLUE = "|cff0070dd"
|
|
local ORANGE = "|cffFF8400"
|
|
local GOLD = "|cffffcc00"
|
|
local LIGHTBLUE = "|cFFADD8E6"
|
|
local ORANGE2 = "|cFFFFA500"
|
|
|
|
local AtlasLootScanTooltip = CreateFrame("GAMETOOLTIP","AtlasLootScanTooltip",nil,"GameTooltipTemplate")
|
|
AtlasLootScanTooltip:SetOwner(UIParent, "ANCHOR_NONE")
|
|
|
|
local playerName = UnitName("player")
|
|
local realmName = GetRealmName()
|
|
local playerFaction = UnitFactionGroup("player")
|
|
|
|
--Set Tooltip for extra crafting data
|
|
function AtlasLoot:SetCraftingTooltip(data)
|
|
local craftingData = data.craftingData
|
|
if not craftingData then return end
|
|
--extra information on where to find the recipe
|
|
if (self.db.profile.recipeExtraInfoSwitch and IsControlKeyDown()) or (not self.db.profile.recipeExtraInfoSwitch) then
|
|
GameTooltip:AddLine(" ")
|
|
for _,v in pairs(craftingData) do
|
|
local line1 = v[1]
|
|
local line2 = v[2]
|
|
if v.fac then line1 = v.fac[1]..line1 end
|
|
if v.cords and v.cords[1] ~= 0 and v.cords[2] ~= 0 then
|
|
if line2 then
|
|
line2 = WHITE..line2..WHITE.." ("..GOLD..v.cords[1]..WHITE..", "..GOLD..v.cords[2]..WHITE..")"
|
|
else
|
|
line2 = WHITE.." ("..GOLD..v.cords[1]..WHITE..", "..GOLD..v.cords[2]..WHITE..")"
|
|
end
|
|
end
|
|
GameTooltip:AddDoubleLine(line1, line2)
|
|
end
|
|
else
|
|
GameTooltip:AddLine(" ")
|
|
GameTooltip:AddLine(WHITE..AL["Hold CTRL for source"])
|
|
end
|
|
end
|
|
|
|
--Set quest tooltip info
|
|
function AtlasLoot:SetQuestTooltip(data)
|
|
if not data.quest then return end
|
|
for _,v in ipairs(data.quest) do
|
|
local quest = AtlasLoot_CraftingData["QuestList"][v]
|
|
local text = data.quest.text or ""
|
|
GameTooltip:AddDoubleLine(quest[1], WHITE..text)
|
|
GameTooltip:AddDoubleLine(quest[5][1]..quest[2], WHITE.." ("..GOLD..quest[3]..WHITE..", "..GOLD..quest[4]..WHITE..")")
|
|
end
|
|
end
|
|
|
|
--Set droprate tooltip
|
|
function AtlasLoot:SetDroprateTooltip(data)
|
|
if not data.droprate then return end
|
|
if type(data.droprate) == "table" then
|
|
if not data.droprate[ItemindexID] then return end
|
|
local dropIndex = ItemindexID
|
|
if ItemindexID == 5 then
|
|
dropIndex = 4
|
|
elseif ItemindexID == 4 then
|
|
dropIndex = 5
|
|
end
|
|
if data.droprate[dropIndex] then
|
|
GameTooltip:AddLine(AL["Drop Rate: "]..data.droprate[dropIndex], 1, 1, 0)
|
|
end
|
|
else
|
|
GameTooltip:AddLine(AL["Drop Rate: "]..data.droprate, 1, 1, 0)
|
|
end
|
|
end
|
|
|
|
--Set extra info tooltip
|
|
function AtlasLoot:SetExtraTooltip(data)
|
|
if not data.extraInfo then return end
|
|
GameTooltip:AddLine(AL["Extra Info: "]..data.extraInfo, 1, 1, 0)
|
|
end
|
|
--------------------------------------------------------------------------------
|
|
-- Item OnEnter
|
|
-- Called when a loot item is moused over
|
|
--------------------------------------------------------------------------------
|
|
function AtlasLoot:ItemOnEnter(data)
|
|
GameTooltip:ClearLines()
|
|
local spellID = data.spellID
|
|
local itemID = data.itemID
|
|
if itemID or spellID then
|
|
if not spellID then
|
|
--Default game tooltips
|
|
if itemID then
|
|
if GetItemInfo(itemID) then
|
|
GameTooltip:SetOwner(data, "ANCHOR_RIGHT", -(data:GetWidth() / 2), 24)
|
|
GameTooltip:SetHyperlink("item:"..itemID..":0:0:0")
|
|
if ( self.db.profile.ItemIDs ) then
|
|
GameTooltip:AddLine(BLUE..AL["ItemID:"].." "..itemID, nil, nil, nil, 1)
|
|
end
|
|
self:SetQuestTooltip(data)
|
|
self:SetExtraTooltip(data)
|
|
self:SetDroprateTooltip(data)
|
|
self:SetCraftingTooltip(data)
|
|
GameTooltip:Show()
|
|
if self.db.profile.EquipCompare or IsShiftKeyDown() then
|
|
self:ShowCompareItem(data) --- CALL MISSING METHOD TO SHOW 2 TOOLTIPS (Item Compare)
|
|
end
|
|
end
|
|
end
|
|
else
|
|
GameTooltip:SetOwner(data, "ANCHOR_RIGHT", -(data:GetWidth() / 2), 24)
|
|
GameTooltip:ClearLines()
|
|
GameTooltip:SetHyperlink(self:GetEnchantLink(spellID))
|
|
|
|
self:SetCraftingTooltip(data)
|
|
|
|
local showOwn
|
|
--adds tooltip showing if you know a recipe and it is one of your chars trade skills
|
|
if data.hasTrade then
|
|
if CA_IsSpellKnown(spellID) then
|
|
showOwn = "|cff1EFF00You know this Recipe"
|
|
else
|
|
showOwn = " |cffFF3F40You don't know this Recipe"
|
|
end
|
|
end
|
|
--gets a list of characters with this recipe known
|
|
local text = self:GetKnownRecipes(spellID)
|
|
local hasSpace
|
|
if (text or showOwn) and not hasSpace then
|
|
GameTooltip:AddLine(" ")
|
|
hasSpace = true
|
|
end
|
|
if showOwn then GameTooltip:AddLine(showOwn) end
|
|
if text then
|
|
text = BLUE.."Recipe known by: "..WHITE..text
|
|
GameTooltip:AddLine(text)
|
|
end
|
|
GameTooltip:Show()
|
|
if self.db.profile.EquipCompare or IsShiftKeyDown() then
|
|
self:ShowCompareItem(data) --- CALL MISSING METHOD TO SHOW 2 TOOLTIPS (Item Compare)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Item OnLeave
|
|
-- Called when the mouse cursor leaves a loot item
|
|
--------------------------------------------------------------------------------
|
|
function AtlasLoot:ItemOnLeave(frame)
|
|
--Hide the necessary tooltips
|
|
if( self.db.profile.LootlinkTT ) then
|
|
GameTooltip:Hide()
|
|
elseif( self.db.profile.ItemSyncTT ) then
|
|
if(GameTooltip:IsVisible()) then
|
|
GameTooltip:Hide()
|
|
end
|
|
else
|
|
GameTooltip:Hide()
|
|
end
|
|
if ( ShoppingTooltip2:IsVisible() or ShoppingTooltip1.IsVisible) then
|
|
ShoppingTooltip2:Hide()
|
|
ShoppingTooltip1:Hide()
|
|
end
|
|
if AtlasLoot_PopupFrame and AtlasLoot_PopupFrame:IsVisible() then AtlasLoot_PopupFrame:Hide() end
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Item OnClick
|
|
-- Called when a loot item is clicked on
|
|
--------------------------------------------------------------------------------
|
|
function AtlasLoot:ItemOnClick(item, button)
|
|
self.Dewdrop:Close()
|
|
local name = strsub(_G["AtlasLootItem_"..item:GetID().."_Name"]:GetText(), 11)
|
|
local spellID = item.spellID
|
|
local itemID = item.itemID
|
|
local dataID, dataSource, dataPage
|
|
|
|
if not spellID and itemID then
|
|
local itemName, itemLink, itemQuality, itemLevel, itemMinLevel, itemType, itemSubType, itemCount, itemEquipLoc, itemTexture = GetItemInfo(itemID)
|
|
--If shift-clicked, link in the chat window
|
|
if button=="RightButton" and self.itemUnlock then
|
|
--move wishlist item down
|
|
self:MoveWishlistItem("Down",item.number)
|
|
elseif IsAltKeyDown() and button=="LeftButton" and self.itemUnlock then
|
|
--add custom wishlist header
|
|
StaticPopup_Show("ATLASLOOT_ADD_CUSTOMHEADER")
|
|
StaticPopupDialogs.ATLASLOOT_ADD_CUSTOMHEADER.num = item.number
|
|
elseif (button=="LeftButton") and self.itemUnlock then
|
|
--move wishlist item up
|
|
self:MoveWishlistItem("Up",item.number)
|
|
elseif(button=="RightButton" and itemID and IsAltKeyDown() and AtlasLootItemsFrame.refresh[2] ~= "AtlasLoot_CurrentWishList") then
|
|
local wList = AtlasLootWishList["Options"][playerName]["DefaultWishList"]
|
|
--add to defauly wishlist
|
|
self:WishListAddDropClick(wList[1], wList[3], item)
|
|
elseif(button=="RightButton" and itemID) then
|
|
--item context menu
|
|
if AtlasLoot_PopupFrame and AtlasLoot_PopupFrame:IsVisible() then
|
|
self:ItemContextMenu(item, "item")
|
|
|
|
else
|
|
self:ItemContextMenu(item, "item")
|
|
end
|
|
elseif IsShiftKeyDown() and itemName then
|
|
--insert to chat link
|
|
ChatEdit_InsertLink(itemLink)
|
|
elseif(ChatFrame1EditBox and ChatFrame1EditBox:IsVisible() and IsShiftKeyDown()) then
|
|
ChatFrame1EditBox:Insert(name) -- <-- this line just inserts plain text, does not need any adjustment
|
|
--If control-clicked, use the dressing room
|
|
elseif(IsControlKeyDown() and itemName) then
|
|
--view item in dressing room
|
|
DressUpItemLink(itemLink)
|
|
elseif IsAltKeyDown() then
|
|
if AtlasLootItemsFrame.refresh[2] == "AtlasLoot_CurrentWishList" then
|
|
self:DeleteFromWishList(item.number)
|
|
end
|
|
elseif item.sourcePage and item.sourcePage[2] == "Source" then
|
|
dataID, dataSource, dataPage = unpack(item.sourcePage[1])
|
|
if dataID and dataID ~= "" and dataSource then
|
|
self.backEnabled = true
|
|
self:ShowItemsFrame(dataID, dataSource, dataPage or 1)
|
|
end
|
|
elseif item.sourcePage and item.sourcePage[2] == "Token" then
|
|
--Create token table if there isnt one
|
|
if AtlasLoot_TokenData[item.sourcePage[1]] == nil then
|
|
self:CreateToken(item.sourcePage[1])
|
|
end
|
|
dataID, dataSource, dataPage = item.sourcePage[1], "AtlasLoot_TokenData", 1
|
|
--Show token table
|
|
self:ShowItemsFrame(dataID, dataSource, dataPage or 1)
|
|
elseif button == "LeftButton" and itemID and AtlasLoot_ExtraData[itemID] then
|
|
self:PopoupItemFrame(item, _G["AtlasLoot_ExtraData"][itemID] )
|
|
AtlasLoot_PopupFrame:Show()
|
|
elseif button == "LeftButton" and item.contentsPreview then
|
|
self:PopoupItemFrame(item, item.contentsPreview )
|
|
AtlasLoot_PopupFrame:Show()
|
|
end
|
|
else
|
|
local recipeData = self:GetRecipeData(spellID, "spell")
|
|
if IsShiftKeyDown() then
|
|
ChatEdit_InsertLink(self:GetEnchantLink(spellID))
|
|
elseif button=="RightButton" then
|
|
self:ItemContextMenu(item, "spell", recipeData)
|
|
elseif IsAltKeyDown() then
|
|
if AtlasLootItemsFrame.refresh[2] == "AtlasLoot_CurrentWishList" then
|
|
self:DeleteFromWishList(item.number)
|
|
end
|
|
elseif(IsControlKeyDown()) then
|
|
DressUpItemLink("item:"..item.dressingroomID..":0:0:0:0:0:0:0")
|
|
elseif item.sourcePage and item.sourcePage[2] == "Source" then
|
|
dataID, dataSource, dataPage = unpack(item.sourcePage[1])
|
|
if dataID and dataID ~= "" and dataSource then
|
|
self.backEnabled = true
|
|
self:ShowItemsFrame(dataID, dataSource, dataPage or 1)
|
|
end
|
|
elseif item.sourcePage and item.sourcePage[2] == "Token" then
|
|
--Create token table if there isnt one
|
|
if AtlasLoot_TokenData[item.sourcePage[1]] == nil then
|
|
self:CreateToken(item.sourcePage[1])
|
|
end
|
|
dataID, dataSource, dataPage = item.sourcePage[1], "AtlasLoot_TokenData", 1
|
|
--Show token table
|
|
self:ShowItemsFrame(dataID, dataSource, dataPage or 1)
|
|
elseif button == "LeftButton" and recipeData then
|
|
self:PopoupItemFrame(item, recipeData)
|
|
AtlasLoot_PopupFrame:Show()
|
|
end
|
|
end
|
|
end
|
|
|
|
-------
|
|
-- Missing GameToolTip method
|
|
-- Enables item comparing. I've ripped self method directly from GameTooltip.lua and modified to work with GameTooltip /siena
|
|
-------
|
|
function AtlasLoot:ShowCompareItem(data)
|
|
local link
|
|
if data.spellID then
|
|
link = Item:CreateFromID(data.itemID):GetLink()
|
|
else
|
|
_,link = GameTooltip:GetItem()
|
|
end
|
|
|
|
if ( not link ) then
|
|
return
|
|
end
|
|
|
|
ShoppingTooltip1:SetOwner(GameTooltip, "ANCHOR_NONE")
|
|
ShoppingTooltip2:SetOwner(GameTooltip, "ANCHOR_NONE")
|
|
ShoppingTooltip3:SetOwner(GameTooltip, "ANCHOR_NONE")
|
|
|
|
local item1 = nil
|
|
local item2 = nil
|
|
local item3 = nil
|
|
if ( ShoppingTooltip1:SetHyperlinkCompareItem(link, 1, 1, GameTooltip) ) then
|
|
item1 = true
|
|
end
|
|
if ( ShoppingTooltip2:SetHyperlinkCompareItem(link, 2, 1, GameTooltip) ) then
|
|
item2 = true
|
|
end
|
|
if ( ShoppingTooltip3:SetHyperlinkCompareItem(link, 3, 1, GameTooltip) ) then
|
|
item3 = true
|
|
end
|
|
if not item1 and not item2 and not item3 then
|
|
return
|
|
end
|
|
|
|
if item3 then
|
|
if not item1 then
|
|
item1, item3 = true, nil
|
|
ShoppingTooltip1:SetHyperlinkCompareItem(link, 3, 1, GameTooltip)
|
|
elseif not item2 then
|
|
item2, item3 = true, nil
|
|
ShoppingTooltip2:SetHyperlinkCompareItem(link, 3, 1, GameTooltip)
|
|
end
|
|
end
|
|
if item2 and not item1 then
|
|
item1, item2 = true, nil
|
|
ShoppingTooltip1:SetHyperlinkCompareItem(link, 2, 1, GameTooltip)
|
|
end
|
|
|
|
local left, right, anchor1, anchor2 = GameTooltip:GetLeft(), GameTooltip:GetRight(), "TOPLEFT", "TOPRIGHT"
|
|
if not left or not right then return end
|
|
if (GetScreenWidth() - right) < left then anchor1, anchor2 = anchor2, anchor1 end
|
|
|
|
if item1 then
|
|
ShoppingTooltip1:ClearAllPoints()
|
|
ShoppingTooltip1:SetPoint(anchor1, GameTooltip, anchor2, 0, -10)
|
|
ShoppingTooltip1:Show()
|
|
|
|
if item2 then
|
|
ShoppingTooltip2:ClearAllPoints()
|
|
ShoppingTooltip2:SetPoint(anchor1, ShoppingTooltip1, anchor2)
|
|
ShoppingTooltip2:Show()
|
|
end
|
|
|
|
if item3 then
|
|
ShoppingTooltip3:ClearAllPoints()
|
|
ShoppingTooltip3:SetPoint(anchor1, ShoppingTooltip2, anchor2)
|
|
ShoppingTooltip3:Show()
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
local zoneList
|
|
--Creates a zone list for use in adding vendor and mob drop waypoints to tomtom
|
|
function AtlasLoot:AddWayPoint(waypoint)
|
|
if not zoneList then
|
|
zoneList = {}
|
|
for continentN , _ in ipairs{GetMapContinents()} do
|
|
for zoneNum, zoneName in ipairs{GetMapZones(continentN)} do
|
|
zoneList[zoneName:lower()] = {continentN, zoneNum, zoneName:lower()}
|
|
end
|
|
end
|
|
end
|
|
local zoneName = waypoint[1]:lower()
|
|
--Adds a waypoint to tomtom
|
|
if zoneList[zoneName] then
|
|
TomTom:AddZWaypoint(zoneList[zoneName][1], zoneList[zoneName][2], tonumber(waypoint[2]), tonumber(waypoint[3]), waypoint[4])
|
|
end
|
|
end
|
|
|
|
function AtlasLoot:ItemContextMenu(data, Type, recipeData)
|
|
local craftingData = data.craftingData
|
|
local itemID = data.itemID
|
|
local linkID = itemID
|
|
if Type == "spell" then
|
|
linkID = data.spellID
|
|
end
|
|
if self.Dewdrop:IsOpen(data) then self.Dewdrop:Close() return end
|
|
self.Dewdrop:Register(data,
|
|
'point', function(parent)
|
|
return "TOP", "BOTTOM"
|
|
end,
|
|
'children', function(level, value)
|
|
if level == 1 then
|
|
self.Dewdrop:AddLine(
|
|
'text', AL["Links"],
|
|
'notCheckable', true,
|
|
'isTitle', true,
|
|
'textHeight', 13,
|
|
'textWidth', 13
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
'text', ORANGE..AL["Open AscensionDB To Entry"],
|
|
'func', function() self:OpenDBURL(linkID,Type) end,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
'notCheckable', true,
|
|
'closeWhenClicked', true
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
"text", GREEN..AL["Guild"],
|
|
"func", function() self:Chatlink(linkID,"GUILD",Type) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
"text", LIGHTBLUE..AL["Party"],
|
|
"func", function() self:Chatlink(linkID,"PARTY",Type) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
"text", ORANGE2..AL["Raid"],
|
|
"func", function() self:Chatlink(linkID,"RAID",Type) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
if AuctionFrame and AuctionFrame:IsVisible() then
|
|
self:AddDividerLine(35)
|
|
self.Dewdrop:AddLine(
|
|
'text', AL["Auction House Search"],
|
|
'notCheckable', true,
|
|
'isTitle', true,
|
|
'textHeight', 13,
|
|
'textWidth', 13
|
|
)
|
|
if recipeData then
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Created Item"],
|
|
"func", function() self:SearchAuctionHouse(self:GetItemInfo(recipeData[1][1])) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
if recipeData.Recipe then
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Recipe"],
|
|
"func", function() self:SearchAuctionHouse(self:GetItemInfo(recipeData.Recipe)) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
end
|
|
else
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Item"],
|
|
"func", function() self:SearchAuctionHouse(self:GetItemInfo(itemID)) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
end
|
|
end
|
|
if not AtlasLoot_PopupFrame or AtlasLoot_PopupFrame and not AtlasLoot_PopupFrame:IsVisible() then
|
|
self:AddDividerLine(35)
|
|
self.Dewdrop:AddLine(
|
|
'text', AL["Wishlists"],
|
|
'notCheckable', true,
|
|
'isTitle', true,
|
|
'textHeight', 13,
|
|
'textWidth', 13
|
|
)
|
|
if AtlasLootItemsFrame.refresh[2] == "AtlasLoot_CurrentWishList" then
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Delete"],
|
|
"func", function() self:DeleteFromWishList(data.number) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
else
|
|
local wList = AtlasLootWishList["Options"][playerName]["DefaultWishList"]
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Add To Default"],
|
|
"func", function() self:WishListAddDropClick(wList[1], wList[3], data) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Own Wishlists"],
|
|
"tooltipTitle", AL["Own Wishlists"],
|
|
"value", "OwnWishlists",
|
|
"hasArrow", true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Shared Wishlists"],
|
|
"tooltipTitle", AL["Shared Wishlists"],
|
|
"value", "SharedWishlists",
|
|
"hasArrow", true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Add Wishlist"],
|
|
"func", function() self:AddWishList() end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
end
|
|
if C_VanityCollection.IsCollectionItemOwned(itemID) then
|
|
self:AddDividerLine(35)
|
|
self.Dewdrop:AddLine(
|
|
'text', AL["Vanity Collection"],
|
|
'notCheckable', true,
|
|
'isTitle', true,
|
|
'textHeight', 13,
|
|
'textWidth', 13
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
"text", AL["Learn/Recive Vanity Item"],
|
|
"func", function() RequestDeliverVanityCollectionItem(itemID) end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
end
|
|
if self.TomTomLoaded then
|
|
if not self.db.profile.waypointList then self.db.profile.waypointList = {} end
|
|
local wayPoint
|
|
if (craftingData and self.db.profile.recipeExtraInfoSwitch and IsControlKeyDown()) or (craftingData and not self.db.profile.recipeExtraInfoSwitch) then
|
|
GameTooltip:AddLine(" ")
|
|
for _,v in pairs(craftingData) do
|
|
if v.cords and tonumber(v.cords[1]) ~= 0 and tonumber(v.cords[2]) ~= 0 then
|
|
local line1 = v[1]
|
|
local line2 = v[2]
|
|
if v.fac and (v.fac[2] == playerFaction or v.fac[2] == "Netural") then line1 = v.fac[1]..line1 end
|
|
if not wayPoint then wayPoint = {} end
|
|
tinsert(wayPoint, { line2, tonumber(v.cords[1]), tonumber(v.cords[2]), line1})
|
|
end
|
|
end
|
|
end
|
|
if craftingData and wayPoint then
|
|
|
|
self:AddDividerLine(35)
|
|
self.Dewdrop:AddLine(
|
|
'text', AL["Recipe Waypoints"],
|
|
'notCheckable', true,
|
|
'isTitle', true,
|
|
'textHeight', 13,
|
|
'textWidth', 13
|
|
)
|
|
self.Dewdrop:AddLine(
|
|
"text", "Add pin to map",
|
|
"func", function()
|
|
for _,v in pairs(wayPoint) do
|
|
self:AddWayPoint(v)
|
|
end
|
|
end,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"notCheckable", true
|
|
)
|
|
end
|
|
end
|
|
end
|
|
elseif level == 2 then
|
|
if value == "OwnWishlists" then
|
|
for i,v in pairs(AtlasLootWishList["Own"]) do
|
|
if type(v) == "table" then
|
|
self.Dewdrop:AddLine(
|
|
"text", v.Name,
|
|
"tooltipTitle", v.Name,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"func", function() self:WishListAddDropClick("Own", i, data) end,
|
|
"notCheckable", true
|
|
)
|
|
end
|
|
end
|
|
elseif value == "SharedWishlists" then
|
|
for i,v in pairs(AtlasLootWishList["Shared"]) do
|
|
if type(v) == "table" then
|
|
self.Dewdrop:AddLine(
|
|
"text", v.Name,
|
|
"tooltipTitle", v.Name,
|
|
'closeWhenClicked', true,
|
|
'textHeight', 12,
|
|
'textWidth', 12,
|
|
"func", function() self:WishListAddDropClick("Shared", i, data) end,
|
|
"notCheckable", true
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
--Close button
|
|
self:CloseDewDrop(true,35)
|
|
end,
|
|
'dontHook', true
|
|
)
|
|
self.Dewdrop:Open(data)
|
|
end
|
|
|