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
+188
View File
@@ -0,0 +1,188 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("ChatBar") then return end
local _G = _G
local abs = math.abs
-- ChatBar 3.1
S:AddCallbackForAddon("ChatBar", "ChatBar", function()
if not E.private.addOnSkins.ChatBar then return end
local db = E.db.addOnSkins
if ChatBar_ButtonScale then
ChatBar_ButtonScale = 1
end
ChatBar_UpdateArt = E.noop
ChatBar_Toggle_LargeButtons = E.noop
ChatBarFrameBackground:SetOutside()
ChatBarFrameBackground:SetTemplate("Transparent")
for i = 1, 20 do
local button = _G["ChatBarFrameButton" .. i]
local center = _G["ChatBarFrameButton" .. i .. "Center"]
local highlight = _G["ChatBarFrameButton" .. i .. "Highlight"]
local flash = _G["ChatBarFrameButton" .. i .. "Flash"]
button:StripTextures()
button:SetTemplate()
button:SetScale(1)
button:Size(db.chatBarSize)
center:SetInside()
highlight:SetInside()
flash:SetInside()
center:SetTexture(1, 1, 1)
highlight:SetTexture(1, 1, 1, 0.5)
flash:SetTexture(1, 1, 1, 0.5)
highlight:SetBlendMode("MOD")
flash:SetTexture("MOD")
end
ChatBarFrame:SetScript("OnUpdate", function(self, elapsed)
if self.slidingEnabled and self.isSliding and self.velocity and self.endsize then
local currSize = ChatBar_GetSize()
if abs(currSize - self.endsize) < ConstantSnapLimit then
ChatBar_SetSize(self.endsize)
ChatBarFrame.isSliding = nil
self.velocity = 0
if ChatBar_VerticalDisplay_Sliding or ChatBar_AlternateDisplay_Sliding or ChatBar_LargeButtons_Sliding then
if ChatBar_VerticalDisplay_Sliding then
ChatBar_VerticalDisplay_Sliding = nil
ChatBar_Toggle_VerticalButtonOrientation()
elseif ChatBar_AlternateDisplay_Sliding then
ChatBar_AlternateDisplay_Sliding = nil
ChatBar_Toggle_AlternateButtonOrientation()
elseif ChatBar_LargeButtons_Sliding then
ChatBar_LargeButtons_Sliding = nil
ChatBar_UpdateButtons()
end
ChatBar_UpdateOrientationPoint()
else
ChatBar_UpdateOrientationPoint(true)
end
else
local desiredVelocity = ConstantVelocityModifier * (self.endsize - currSize)
local acceleration = ConstantJerk * (desiredVelocity - self.velocity)
self.velocity = self.velocity + acceleration * elapsed
ChatBar_SetSize(currSize + self.velocity * elapsed)
end
local frame
for i = 1, CHAT_BAR_MAX_BUTTONS do
frame = _G["ChatBarFrameButton" .. i]
if currSize >= (i * (db.chatBarSize + db.chatBarSpacing) - db.chatBarSpacing) then
frame:Show()
else
frame:Hide()
end
end
elseif self.count then
if self.count > CHAT_BAR_UPDATE_DELAY then
self.count = nil
ChatBarFrame.slidingEnabled = true
ChatBar_UpdateButtons()
else
self.count = self.count + 1
end
end
end)
function ChatBar_UpdateButtonOrientation()
local button = ChatBarFrameButton1
button:ClearAllPoints()
button.Text:ClearAllPoints()
button.Text:SetPoint(db.chatBarTextPoint, button, db.chatBarTextPoint, db.chatBarTextXOffset, db.chatBarTextYOffset)
if ChatBar_VerticalDisplay then
if ChatBar_AlternateOrientation then
button:SetPoint("TOP", "ChatBarFrame", "TOP", 0, -db.chatBarSpacing)
else
button:SetPoint("BOTTOM", "ChatBarFrame", "BOTTOM", 0, db.chatBarSpacing)
end
else
if ChatBar_AlternateOrientation then
button:SetPoint("RIGHT", "ChatBarFrame", "RIGHT", -db.chatBarSpacing, 0)
else
button:SetPoint("LEFT", "ChatBarFrame", "LEFT", db.chatBarSpacing, 0)
end
end
for i = 2, CHAT_BAR_MAX_BUTTONS do
button = _G["ChatBarFrameButton"..i]
button:ClearAllPoints()
button.Text:ClearAllPoints()
button.Text:SetPoint(db.chatBarTextPoint, button, db.chatBarTextPoint, db.chatBarTextXOffset, db.chatBarTextYOffset)
if ChatBar_VerticalDisplay then
if ChatBar_AlternateOrientation then
button:SetPoint("TOP", "ChatBarFrameButton"..(i-1), "BOTTOM", 0, -db.chatBarSpacing)
else
button:SetPoint("BOTTOM", "ChatBarFrameButton"..(i-1), "TOP", 0, db.chatBarSpacing)
end
else
if ChatBar_AlternateOrientation then
button:SetPoint("RIGHT", "ChatBarFrameButton"..(i-1), "LEFT", -db.chatBarSpacing, 0)
else
button:SetPoint("LEFT", "ChatBarFrameButton"..(i-1), "RIGHT", db.chatBarSpacing, 0)
end
end
end
end
hooksecurefunc("ChatBar_UpdateButtons", function()
local i, buttonIndex = 1, 1
if not ChatBar_HideAllButtons then
while ChatBar_ChatTypes[i] and buttonIndex <= 20 do
if ChatBar_ChatTypes[i].show() then
_G["ChatBarFrameButton" .. buttonIndex]:Size(db.chatBarSize)
_G["ChatBarFrameButton" .. buttonIndex]:SetAlpha(1)
buttonIndex = buttonIndex + 1
end
i = i + 1
end
end
local size = (buttonIndex - 1) * (db.chatBarSize + db.chatBarSpacing) + db.chatBarSpacing
if ChatBar_VerticalDisplay then
ChatBarFrame:SetWidth(db.chatBarSize + (db.chatBarSpacing * 2))
if ChatBarFrame:GetTop() then
ChatBar_StartSlidingTo(size)
else
ChatBarFrame:SetHeight(size)
end
else
ChatBarFrame:SetHeight(db.chatBarSize + (db.chatBarSpacing * 2))
if ChatBarFrame:GetRight() then
ChatBar_StartSlidingTo(size)
else
ChatBarFrame:SetWidth(size)
end
end
while buttonIndex <= 20 do
_G["ChatBarFrameButton" .. buttonIndex]:SetAlpha(0)
buttonIndex = buttonIndex + 1
end
end)
ChatBar_UpdateButtonOrientation()
E:GetModule("Tooltip"):HookScript(ChatBarFrameTooltip, "OnShow", "SetStyle")
end)