df7cc26a64
Fix remaining lua errors covered by ascension patches Add Addon Skins Add Enhanced Friends List
94 lines
2.7 KiB
Lua
94 lines
2.7 KiB
Lua
local E, L, V, P, G = unpack(ElvUI)
|
|
local S = E:GetModule("Skins")
|
|
local AS = E:GetModule("AddOnSkins")
|
|
|
|
if not AS:IsAddonLODorEnabled("RaidCooldowns") then return end
|
|
|
|
local ceil = math.ceil
|
|
local format = string.format
|
|
|
|
local GetNumRaidMembers = GetNumRaidMembers
|
|
local GetSpellInfo = GetSpellInfo
|
|
local IsShiftKeyDown = IsShiftKeyDown
|
|
local SendChatMessage = SendChatMessage
|
|
|
|
-- RaidCooldowns 3.3.5
|
|
-- https://www.wowace.com/projects/raid-cooldowns/files/441967
|
|
|
|
S:AddCallbackForAddon("RaidCooldowns", "RaidCooldowns", function()
|
|
if not E.private.addOnSkins.RaidCooldowns then return end
|
|
|
|
local RaidCooldowns = LibStub("AceAddon-3.0"):GetAddon("RaidCooldowns", true)
|
|
if not RaidCooldowns then return end
|
|
|
|
local mod = RaidCooldowns:GetModule("Display", true)
|
|
if not mod then return end
|
|
|
|
if mod.db.profile.texture == "Smooth v2" and LibStub("LibSharedMedia-3.0"):Fetch("statusbar", mod.db.profile.texture) == "Interface\\TargetingFrame\\UI-StatusBar" then
|
|
mod.db.profile.texture = "Blizzard"
|
|
end
|
|
if not mod.db.profile.fontFace then
|
|
mod.db.profile.fontFace = "PT Sans Narrow"
|
|
end
|
|
|
|
mod.configOptions.args.display.args.height.max = 30
|
|
|
|
local function onClick(self)
|
|
if not IsShiftKeyDown() or GetNumRaidMembers() == 0 then return end
|
|
|
|
local parent = self:GetParent()
|
|
if parent.value > 0 then
|
|
SendChatMessage(format("%s: %s %s", parent.caster, GetSpellInfo(parent.spellId), format(ITEM_COOLDOWN_TOTAL, format("%.2d:%.2d", parent.value / 60 % 60, ceil(parent.value % 60)))), "RAID")
|
|
end
|
|
end
|
|
|
|
local function HookTimerGroup(frame)
|
|
S:RawHook(frame, "NewTimerBar", function(self, ...)
|
|
local bar, isNew = S.hooks[self].NewTimerBar(self, ...)
|
|
|
|
if isNew and not bar.isSkinned then
|
|
bar.texture:CreateBackdrop("Transparent")
|
|
bar.texture.backdrop:Point("TOPLEFT", bar, -1, 1)
|
|
bar.texture.backdrop:Point("BOTTOMRIGHT", bar, 1, -1)
|
|
|
|
bar.texture:Point("TOPLEFT", 1, 0)
|
|
bar.texture:Point("BOTTOMLEFT", 1, 0)
|
|
|
|
S:HandleIcon(bar.icon)
|
|
|
|
bar.bgtexture:Hide()
|
|
bar.spark:Kill()
|
|
|
|
bar.iconButton = CreateFrame("Button", nil, bar)
|
|
bar.iconButton:SetPoint("TOPLEFT", bar.icon)
|
|
bar.iconButton:SetPoint("BOTTOMRIGHT", bar)
|
|
bar.iconButton:RegisterForClicks("LeftButtonUp")
|
|
bar.iconButton:SetScript("OnClick", onClick)
|
|
|
|
bar.isSkinned = true
|
|
end
|
|
|
|
return bar, isNew
|
|
end)
|
|
end
|
|
|
|
if RCDD_Anchor then
|
|
RCDD_Anchor.button:SetBackdrop(nil)
|
|
RCDD_Anchor.button:CreateBackdrop("Transparent")
|
|
RCDD_Anchor.spacing = E.Border
|
|
|
|
HookTimerGroup(RCDD_Anchor)
|
|
end
|
|
|
|
HookTimerGroup(mod)
|
|
|
|
S:RawHook(mod, "NewBarGroup", function(self, ...)
|
|
local list = S.hooks[self].NewBarGroup(self, ...)
|
|
|
|
list.button:SetBackdrop(nil)
|
|
list.button:CreateBackdrop("Transparent")
|
|
list.spacing = E.Border
|
|
|
|
return list
|
|
end)
|
|
end) |