Files
Anch 4e5b892de9 update to szyler discord version 7.3.9 (#9)
* 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
2024-05-31 20:32:06 -07:00

296 lines
15 KiB
Lua

--[[
Options.lua
Functions:
AtlasLoot_OptionsPanelOnLoad(panel)
AtlasLoot:OptionsInit()
AtlasLoot:OptionsAllLinksToggle()
AtlasLoot:OptionsEquipCompareToggle()
AtlasLoot:OptionsOpaqueToggle()
AtlasLoot:OptionsItemIDToggle()
AtlasLoot:OptionsLoDStartup()
AtlasLoot:SetupLootBrowserSlider(frame, mymin, mymax, step)
AtlasLoot:UpdateLootBrowserSlider(frame)
AtlasLoot:DisplayHelp()
AtlasLoot:CreateOptionsInfoTooltips()
]]
local GREY = "|cff999999"
local WHITE = "|cffFFFFFF"
local GREEN = "|cff1eff00"
local ORANGE = "|cffFF8400"
--Invoke libraries
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
function AtlasLoot_OptionsPanelOnLoad(panel)
panel.name=AL["AtlasLoot"]
InterfaceOptions_AddCategory(panel)
end
function AtlasLoot:OptionsInit()
--Initialise all the check boxes on the options frame
AtlasLootOptionsFrameEquipCompare:SetChecked(self.db.profile.EquipCompare)
AtlasLootOptionsFrameOpaque:SetChecked(self.db.profile.Opaque)
AtlasLootOptionsFrameAutoInstance:SetChecked(self.db.profile.AutoCurrentInstance)
AtlasLootOptionsFrameItemID:SetChecked(self.db.profile.ItemIDs)
AtlasLootOptionsFrameLootBrowserScale:SetValue(self.db.profile.LootBrowserScale)
AtlasLootOptionsMinimapIcon:SetChecked(self.db.profile.minimap.hide)
AtlasLootOptionsFrameCraftingInfo:SetChecked(self.db.profile.recipeExtraInfoSwitch)
AtlasLootOptionsFrameDropLocation:SetChecked(self.db.profile.showdropLocationOnSearch)
AtlasLootOptionsFrameUnknownRecipe:SetChecked(self.db.profile.showUnknownRecipeTooltip)
end
--[[
AtlasLoot:OptionsToggle:
Toggle on/off the options window
]]
function AtlasLoot:OptionsToggle()
if InterfaceOptionsFrame_OpenToCategory and not InterfaceOptionsFrame:IsVisible() then
InterfaceOptionsFrame_OpenToCategory(AL["AtlasLoot"])
else
InterfaceOptionsFrame:Hide()
end
InterfaceOptionsFrame:SetFrameStrata("DIALOG")
end
function AtlasLoot:OptionsOpaqueToggle()
self.db.profile.Opaque = AtlasLootOptionsFrameOpaque:GetChecked()
if (self.db.profile.Opaque) then
AtlasLootItemsFrame_Back:SetTexture(0, 0, 0, 1)
Atlasloot_Difficulty_ScrollFrame_Back:SetTexture(0, 0, 0, 1)
Atlasloot_SubTableFrame_Back:SetTexture(0, 0, 0, 1)
else
AtlasLootItemsFrame_Back:SetTexture(0, 0, 0, 0.05)
Atlasloot_Difficulty_ScrollFrame_Back:SetTexture(0, 0, 0, 0.05)
Atlasloot_SubTableFrame_Back:SetTexture(0, 0, 0, 0.05)
end
self:OptionsInit()
end
function AtlasLoot:Options_AutoInstanceToggle()
self.db.profile.AutoCurrentInstance = AtlasLootOptionsFrameAutoInstance:GetChecked()
end
function AtlasLoot:OptionsItemIDToggle()
self.db.profile.ItemIDs=AtlasLootOptionsFrameItemID:GetChecked()
self:OptionsInit()
end
function AtlasLoot:SetupLootBrowserSlider(frame, mymin, mymax, step)
_G[frame:GetName().."Text"]:SetText(AL["Loot Browser Scale: "].." ("..frame:GetValue()..")")
frame:SetMinMaxValues(mymin, mymax)
_G[frame:GetName().."Low"]:SetText(mymin)
_G[frame:GetName().."High"]:SetText(mymax)
frame:SetValueStep(step)
self:OptionsInit()
end
--Borrowed from Atlas, thanks Dan!
local function round(num, idp)
local mult = 10 ^ (idp or 0)
return math.floor(num * mult + 0.5) / mult
end
function AtlasLoot:UpdateLootBrowserSlider(frame)
_G[frame:GetName().."Text"]:SetText(AL["Loot Browser Scale: "].." ("..round(frame:GetValue(),2)..")")
end
function AtlasLoot:UpdateLootBrowserScale()
AtlasLootDefaultFrame:SetScale(self.db.profile.LootBrowserScale)
end
function AtlasLoot:DisplayHelp()
if not _G["AtlasLootHelpFrame_HelpText"] then
local framewidht = InterfaceOptionsFramePanelContainer:GetWidth()
local panel3 = CreateFrame("ScrollFrame", "AtlasLootHelpFrame_HelpTextFrameScroll", AtlasLootHelpFrame, "UIPanelScrollFrameTemplate")
local scc = CreateFrame("Frame", "AtlasLootHelpFrame_HelpTextFrame", panel3)
panel3:SetScrollChild(scc)
panel3:SetPoint("TOPLEFT", AtlasLootHelpFrame, "TOPLEFT", 10, -25)
scc:SetPoint("TOPLEFT", panel3, "TOPLEFT", 0, 0)
panel3:SetWidth(framewidht-45)
panel3:SetHeight(400)
scc:SetWidth(framewidht-45)
scc:SetHeight(400)
panel3:SetHorizontalScroll(-50)
panel3:SetVerticalScroll(50)
panel3:SetBackdrop({bgFile="Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile="", tile = false, tileSize = 0, edgeSize = 0, insets = { left = 0, right = 0, top = 0, bottom = 0 }})
panel3:SetScript("OnVerticalScroll", function() end)
panel3:EnableMouse(true)
panel3:SetVerticalScroll(0)
panel3:SetHorizontalScroll(0)
local Text = scc:CreateFontString("AtlasLootHelpFrame_HelpText","OVERLAY","GameFontNormal")
Text:SetPoint("TOPLEFT", scc, "TOPLEFT", 0, 0)
Text:SetText(
ORANGE..AL["How to link an item to someone else:"].."\n"..
WHITE..AL["Shift+Left Click the item like you would for any other in-game item"].."\n\n"..
ORANGE..AL["How to view an item in the Dressing Room:"].."\n"..
WHITE..AL["Simply Ctrl+Left Click on the item. Sometimes the dressing room window is hidden behind the Atlas or AtlasLoot windows, so if nothing seems to happen move your Atlas or AtlasLoot windows and see if anything is hidden."].."\n\n"..
ORANGE..AL["How to add an item to the wishlist:"].."\n"..
WHITE..AL["Right Click any item and open the context menu and click add to wishlist."].."\n\n"..
WHITE..AL["Or Alt+Left Click any item to add it to the default wishlist."].."\n\n"..
ORANGE..AL["How to delete an item from the wishlist:"].."\n"..
WHITE..AL["While on the wishlist screen, just Alt+Left Click on an item to delete it."].."\n\n"..
ORANGE..AL["What else does the wishlist do?"].."\n"..
WHITE..AL["If you Left Click any item on the wishlist, you can jump to the loot page the item comes from. Also, on a loot page any item already in your wishlist is marked with a yellow star."].."\n\n"..
ORANGE..AL["How to set of change a page filter:"].."\n"..
WHITE..AL["If you Right Click on the filter check box you will get a drop downmenu with a list of filters. Click the filter you want to use or click add filter set to add new custom filters."].."\n\n"..
ORANGE..AL["HELP!! I have broken the mod somehow!"].."\n"..
WHITE..AL["Use the reset buttons available in the options menu, or type '/al reset' in your chat window."].."\n\n"..
GREY..AL["For further help, see our website and forums: "]..GREEN.."https://discord.gg/uYCE2X2FgA"
)
Text:SetWidth(framewidht-80)
Text:SetJustifyH("LEFT")
Text:SetJustifyV("TOP")
end
end
--[[
AtlasLoot:CreateOptionsInfoTooltips()
Adds explanatory tooltips to Atlasloot options
]]
function AtlasLoot:CreateOptionsInfoTooltips()
self:AddTooltip("AtlasLootOptionsFrameOpaque", nil) -- AL["Make Loot Table Opaque"]
self:AddTooltip("AtlasLootOptionsFrameItemID", nil) -- AL["Show itemIDs at all times"]
self:AddTooltip("AtlasLootOptionsFrameEquipCompare", nil) -- AL["Show Comparison Tooltips"]
self:AddTooltip("AtlasLootOptionsFrameLoDSpam", nil) -- AL["Notify on LoD Module Load"]
self:AddTooltip("AtlasLootOptionsFrameLootBrowserScale", nil) -- Scale SLIDER
self:AddTooltip("AtlasLootOptionsFrame_ResetAtlasLoot", nil) -- AL["Reset Frames"]
self:AddTooltip("AtlasLootOptionsFrame_ResetWishlist", nil) -- AL["Reset Wishlist"]
self:AddTooltip("AtlasLootOptionsFrame_ResetQuicklooks", nil) -- AL["Reset Favorites"]
self:AddTooltip("AtlasLoot_SelectLootBrowserStyle", nil)
end
local function selectLootBrowserStyle_Initialize()
for _, skin in pairs(AtlasLoot.skinKeys) do
local info = {
text = skin[2],
func = AtlasLoot.SelectLootBrowserStyle_OnClick,
}
UIDropDownMenu_AddButton(info)
end
end
function AtlasLoot:OptionsOnShow()
AtlasLoot_SelectLootBrowserStyle_Label:SetText(AL["Change AtlasLoot Skin:"])
if InterfaceOptionsFrame:GetWidth() < 850 then InterfaceOptionsFrame:SetWidth(850) end
UIDropDownMenu_Initialize(AtlasLoot_SelectLootBrowserStyle, selectLootBrowserStyle_Initialize)
UIDropDownMenu_SetSelectedID(AtlasLoot_SelectLootBrowserStyle, self.db.profile.LootBrowserStyle)
UIDropDownMenu_SetWidth(AtlasLoot_SelectLootBrowserStyle, 150)
end
function AtlasLoot:SelectLootBrowserStyle_OnClick()
local thisID = this:GetID()
UIDropDownMenu_SetSelectedID(AtlasLoot_SelectLootBrowserStyle, thisID)
AtlasLoot.db.profile.LootBrowserStyle = thisID
if AtlasLoot.db.profile.LootBrowserStyle then
AtlasLoot:SetSkin(AtlasLoot.skinKeys[AtlasLoot.db.profile.LootBrowserStyle][1])
end
AtlasLoot:OptionsOnShow()
end
function AtlasLoot:CreateOptionsFrame()
local helpframe = CreateFrame("Frame", "AtlasLootHelpFrame")
helpframe:SetSize(425,450)
helpframe:Hide()
helpframe:SetPoint("CENTER")
helpframe.title = helpframe:CreateFontString("AtlasLootHelpFrame_Title", "OVERLAY", "GameFontHighlightLarge")
helpframe.title:SetJustifyH("CENTER")
helpframe.title:SetSize(400,30)
helpframe.title:SetPoint("TOP", "AtlasLootHelpFrame","TOP")
helpframe.title:SetText(AL["AtlasLoot Help"])
helpframe:SetScript("OnShow", function() self:DisplayHelp() end)
local optframe = CreateFrame("Frame", "AtlasLootOptionsFrame")
optframe:Hide()
optframe:SetSize(425,405)
optframe:SetPoint("CENTER")
optframe.title = optframe:CreateFontString("AtlasLoot_OptionsTitle", "OVERLAY", "GameFontHighlightLarge")
optframe.title:SetJustifyH("CENTER")
optframe.title:SetSize(400,30)
optframe.title:SetPoint("TOP", "AtlasLootOptionsFrame","TOP")
optframe.title:SetText(self.Version)
optframe:SetScript("OnShow", function() self:OptionsOnShow() end)
local opaque = CreateFrame("CheckButton", "AtlasLootOptionsFrameOpaque", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
opaque:SetPoint("TOPLEFT",5,-40)
AtlasLootOptionsFrameOpaqueText:SetText(AL["Make Loot Table Opaque"])
opaque:SetScript("OnClick", function() self:OptionsOpaqueToggle() end)
local autoInstance = CreateFrame("CheckButton", "AtlasLootOptionsFrameAutoInstance", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
autoInstance:SetPoint("TOPLEFT",5,-70)
AtlasLootOptionsFrameAutoInstanceText:SetText(AL["Auto Load Instance Loot Pages"])
autoInstance:SetScript("OnClick", function() self:Options_AutoInstanceToggle() end)
local craftingInfo = CreateFrame("CheckButton", "AtlasLootOptionsFrameCraftingInfo", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
craftingInfo:SetPoint("TOPLEFT",5,-100)
AtlasLootOptionsFrameCraftingInfoText:SetText(AL["Hide crafting source unless holding CTRL"])
craftingInfo:SetScript("OnClick", function() self.db.profile.recipeExtraInfoSwitch = not self.db.profile.recipeExtraInfoSwitch end)
local craftingDropInfo = CreateFrame("CheckButton", "AtlasLootOptionsFrameDropLocation", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
craftingDropInfo:SetPoint("TOPLEFT",5,-130)
AtlasLootOptionsFrameDropLocationText:SetText(AL["Show drop location on search results"])
craftingDropInfo:SetScript("OnClick", function() self.db.profile.showdropLocationOnSearch = not self.db.profile.showdropLocationOnSearch end)
local unknownRecipeTooltip = CreateFrame("CheckButton", "AtlasLootOptionsFrameUnknownRecipe", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
unknownRecipeTooltip:SetPoint("TOPLEFT",5,-160)
AtlasLootOptionsFrameUnknownRecipeText:SetText(AL["Show if recipe is unknown in tooltips"])
unknownRecipeTooltip:SetScript("OnClick", function() self.db.profile.showUnknownRecipeTooltip = not self.db.profile.showUnknownRecipeTooltip end)
local itemid = CreateFrame("CheckButton", "AtlasLootOptionsFrameItemID", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
itemid:SetPoint("TOP",5,-70)
AtlasLootOptionsFrameItemIDText:SetText(AL["Show itemIDs at all times"])
itemid:SetScript("OnClick", function() self:OptionsItemIDToggle() end)
local miniMap = CreateFrame("CheckButton", "AtlasLootOptionsMinimapIcon", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
miniMap:SetPoint("TOP",5,-100)
AtlasLootOptionsMinimapIconText:SetText(AL["Hide minimap icon"])
miniMap:SetScript("OnClick", function() self:ToggleMinimap() end)
local equip = CreateFrame("CheckButton", "AtlasLootOptionsFrameEquipCompare", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
equip:SetPoint("TOP",5,-40)
AtlasLootOptionsFrameEquipCompareText:SetText(AL["Show Comparison Tooltips"])
equip:SetScript("OnClick", function() self.db.profile.EquipCompare = not self.db.profile.EquipCompare end)
local sStyle = CreateFrame("Button", "AtlasLoot_SelectLootBrowserStyle", AtlasLootOptionsFrame, "UIDropDownMenuTemplate")
sStyle.lable = sStyle:CreateFontString("AtlasLoot_SelectLootBrowserStyle_Label", "BACKGROUND", "GameFontNormalSmall")
sStyle.lable:SetPoint("LEFT", "AtlasLoot_SelectLootBrowserStyle", "RIGHT",5,2)
sStyle:SetPoint("TOPLEFT",-10,-220)
local bscale = CreateFrame("Slider", "AtlasLootOptionsFrameLootBrowserScale", AtlasLootOptionsFrame,"OptionsSliderTemplate")
bscale:SetSize(240,16)
bscale:SetPoint("TOP", 0,-300)
bscale:SetScript("OnShow", function() self:SetupLootBrowserSlider(bscale, 0.25, 1.5, 0.01) end)
bscale:SetScript("OnValueChanged", function()
self:UpdateLootBrowserSlider(bscale)
self.db.profile.LootBrowserScale = bscale:GetValue()
self:UpdateLootBrowserScale()
end)
local resetwish = CreateFrame("Button", "AtlasLootOptionsFrame_ResetWishlist", AtlasLootOptionsFrame, "OptionsButtonTemplate")
resetwish:SetSize(130,25)
resetwish:SetPoint("TOP", 0, -325)
resetwish:SetText(AL["Reset Wishlist"])
resetwish:SetScript("OnClick", function() self:Reset("wishlist") end)
resetwish:SetScript("OnShow", function() resetwish:SetWidth(AtlasLootOptionsFrame_ResetWishlist:GetTextWidth()+20) end)
local resetAtlas = CreateFrame("Button", "AtlasLootOptionsFrame_ResetAtlasLoot", AtlasLootOptionsFrame, "OptionsButtonTemplate")
resetAtlas:SetSize(130,25)
resetAtlas:SetText(AL["Reset Frames"])
resetAtlas:SetPoint("RIGHT", "AtlasLootOptionsFrame_ResetWishlist", "LEFT", -10, 0)
resetAtlas:SetScript("OnClick", function() self:Reset("frames") end)
resetAtlas:SetScript("OnShow", function() resetAtlas:SetWidth(AtlasLootOptionsFrame_ResetAtlasLoot:GetTextWidth()+20) end)
local resetquick = CreateFrame("Button", "AtlasLootOptionsFrame_ResetQuicklooks", AtlasLootOptionsFrame, "OptionsButtonTemplate")
resetquick:SetSize(130,25)
resetquick:SetText(AL["Reset Favorites"])
resetquick:SetPoint("LEFT", "AtlasLootOptionsFrame_ResetWishlist", "RIGHT", 10, 0)
resetquick:SetScript("OnClick", function() self:Reset("quicklooks") end)
resetquick:SetScript("OnShow", function() resetquick:SetWidth(AtlasLootOptionsFrame_ResetQuicklooks:GetTextWidth()+20) end)
end
AtlasLoot:CreateOptionsFrame()