Change all use of heroclass to use RAID_CLASS_COLORS instead. This can be changed to CUSTOM_CLASS_COLORS later with a color picker for each class, but to support CoA classes need to go back to being colored properly.

Fix remaining lua errors covered by ascension patches

Add Addon Skins
Add Enhanced Friends List
This commit is contained in:
Andrew6810
2022-10-28 07:12:13 -07:00
parent 60ef8a38af
commit df7cc26a64
205 changed files with 18480 additions and 35 deletions
+117
View File
@@ -0,0 +1,117 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("Skada") then return end
-- Skada r301
-- https://www.curseforge.com/wow/addons/skada/files/458800
S:AddCallbackForAddon("Skada", "Skada", function()
if not E.private.addOnSkins.Skada then return end
if Skada.revisited then
hooksecurefunc(Skada.displays.bar, "AddDisplayOptions", function(_, _, options)
options.windowoptions = nil
options.titleoptions.args.texture = nil
options.titleoptions.args.bordertexture = nil
options.titleoptions.args.thickness = nil
options.titleoptions.args.margin = nil
options.titleoptions.args.color = nil
end)
AS:SkinLibrary("LibUIDropDownMenu")
end
hooksecurefunc(Skada.displays["bar"], "ApplySettings", function(_, win)
local skada = win.bargroup
if win.db.enabletitle then
skada.button:SetBackdrop(nil)
if not skada.button.backdrop then
skada.button:CreateBackdrop()
end
if skada.button.backdrop then
skada.button.backdrop:SetFrameLevel(skada.button:GetFrameLevel())
skada.button.backdrop:SetTemplate(E.db.addOnSkins.skadaTitleTemplate, E.db.addOnSkins.skadaTitleTemplate == "Default" and E.db.addOnSkins.skadaTitleTemplateGloss or false)
skada.button.backdrop:ClearAllPoints()
skada.button.backdrop:Point("TOPLEFT", skada.button, -E.Border, win.db.reversegrowth and 0 or E.Border)
skada.button.backdrop:Point("BOTTOMRIGHT", skada.button, E.Border, win.db.reversegrowth and -E.Border or E.Border)
end
end
if Skada.revisited then
skada:SetBackdrop(nil) -- remove default backdrop
if not skada.backdrop then
skada:CreateBackdrop(E.db.addOnSkins.skadaTemplate, E.db.addOnSkins.skadaTemplate == "Default" and E.db.addOnSkins.skadaTemplateGloss or false)
else
skada.backdrop:SetTemplate(E.db.addOnSkins.skadaTemplate, E.db.addOnSkins.skadaTemplate == "Default" and E.db.addOnSkins.skadaTemplateGloss or false)
end
elseif win.db.enablebackground then
skada.bgframe:SetTemplate(E.db.addOnSkins.skadaTemplate, E.db.addOnSkins.skadaTemplate == "Default" and E.db.addOnSkins.skadaTemplateGloss or false)
if skada.bgframe then
skada.bgframe:ClearAllPoints()
if win.db.reversegrowth then
skada.bgframe:SetPoint("LEFT", skada.button, "LEFT", -E.Border, 0)
skada.bgframe:SetPoint("RIGHT", skada.button, "RIGHT", E.Border, 0)
skada.bgframe:SetPoint("BOTTOM", skada.button, "TOP", 0, win.db.enabletitle and E.Spacing or -win.db.barheight - E.Border)
else
skada.bgframe:SetPoint("LEFT", skada.button, "LEFT", -E.Border, 0)
skada.bgframe:SetPoint("RIGHT", skada.button, "RIGHT", E.Border, 0)
skada.bgframe:SetPoint("TOP", skada.button, "BOTTOM", 0, win.db.enabletitle and -E.Spacing or win.db.barheight + E.Border)
end
end
end
end)
local EMB = E:GetModule("EmbedSystem")
hooksecurefunc(Skada, "CreateWindow", function()
if EMB:CheckEmbed("Skada") then
EMB:EmbedSkada()
end
end)
hooksecurefunc(Skada, "DeleteWindow", function()
if EMB:CheckEmbed("Skada") then
EMB:EmbedSkada()
end
end)
if Skada.revisited then
hooksecurefunc(Skada, "UpdateDisplay", function()
if EMB:CheckEmbed("Skada") then
EMB:EmbedSkada()
end
end)
end
hooksecurefunc(Skada, "SetTooltipPosition", function(self, tt, frame)
if self.db.profile.tooltippos == "default" then
if not E:HasMoverBeenMoved("ElvTooltipMover") then
if ElvUI_ContainerFrame and ElvUI_ContainerFrame:IsShown() then
tt:Point("BOTTOMRIGHT", ElvUI_ContainerFrame, "TOPRIGHT", 0, 18)
elseif RightChatPanel:IsShown() and RightChatPanel:GetAlpha() == 1 then
tt:Point("BOTTOMRIGHT", RightChatPanel, "TOPRIGHT", 0, 18)
else
tt:Point("BOTTOMRIGHT", RightChatPanel, "BOTTOMRIGHT", 0, 18)
end
else
local point = E:GetScreenQuadrant(ElvTooltipMover)
if point == "TOPLEFT" then
tt:SetPoint("TOPLEFT", ElvTooltipMover)
elseif point == "TOPRIGHT" then
tt:SetPoint("TOPRIGHT", ElvTooltipMover)
elseif point == "BOTTOMLEFT" or point == "LEFT" then
tt:SetPoint("BOTTOMLEFT", ElvTooltipMover)
else
tt:SetPoint("BOTTOMRIGHT", ElvTooltipMover)
end
end
end
end)
end)