Files

177 lines
5.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("EPGP_LootMaster") then return end
local ipairs = ipairs
local select = select
local unpack = unpack
local GetItemQualityColor = GetItemQualityColor
local hooksecurefunc = hooksecurefunc
-- EPGP LootMaster 0.4.9
-- https://www.curseforge.com/wow/addons/epgp_lootmaster/files/409167
S:AddCallbackForAddon("EPGP_LootMaster", "EPGP_LootMaster", function()
if not E.private.addOnSkins.EPGP_LootMaster then return end
local EPGPLM = LibStub("AceAddon-3.0"):GetAddon("EPGPLootMaster", true)
if not EPGPLM then return end
S:SecureHook(EPGPLM, "InitUI", function(self)
self.frame:SetTemplate("Transparent")
self.frame.titleFrame:SetTemplate("Default")
S:Unhook(EPGPLM, "InitUI")
end)
S:SecureHook(EPGPLM, "ShowVersionCheckFrame", function(self)
self.versioncheckframe:SetTemplate("Transparent")
self.versioncheckframe.titleFrame:SetTemplate("Default")
self.versioncheckframe.sstScroll.frame:SetTemplate("Default")
S:HandleScrollBar(_G[self.versioncheckframe.sstScroll.frame:GetName().."ScrollFrameScrollBar"])
for i = 1, self.versioncheckframe:GetNumChildren() do
local child = select(i, self.versioncheckframe:GetChildren())
if child and child:IsObjectType("Button") then
S:HandleButton(child)
end
end
S:Unhook(EPGPLM, "ShowVersionCheckFrame")
end)
local function UpdateLootUI_Icon_SetNormalTexture(self, texture)
if texture and self:GetParent().data then
self:SetBackdropBorderColor(GetItemQualityColor(self:GetParent().data.quality))
end
end
hooksecurefunc(EPGPLM, "UpdateLootUI", function(self)
for _, frame in ipairs(self.lootSelectFrames) do
if not frame.isSkinned then
frame:SetTemplate("Transparent")
frame.itemIcon:SetTemplate("Default")
frame.itemIcon:GetNormalTexture():SetInside(frame.itemIcon.backdrop)
frame.itemIcon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
frame.itemIcon:SetBackdropBorderColor(GetItemQualityColor(frame.data.quality))
hooksecurefunc(frame.itemIcon, "SetNormalTexture", UpdateLootUI_Icon_SetNormalTexture)
S:HandleButton(frame.btnPass)
frame.timerFrame:SetBackdrop(nil)
select(2, frame.timerFrame:GetChildren()):SetBackdrop(nil)
frame.progressBar:CreateBackdrop()
frame.progressBar:Height(20)
frame.progressBar:SetStatusBarTexture(E.media.normTex)
frame.progressBar:SetStatusBarColor(0.13, 0.35, 0.80)
E:RegisterStatusBar(frame.progressBar)
frame.btnNote:SetTemplate("Default")
frame.btnNote:Size(20)
frame.btnNote:HookScript("OnEnter", S.SetModifiedBackdrop)
frame.btnNote:HookScript("OnLeave", S.SetOriginalBackdrop)
frame.btnNote:SetHighlightTexture(nil)
frame.btnNote:DisableDrawLayer("OVERLAY")
local btnNoteIcon = frame.btnNote:GetRegions()
btnNoteIcon:SetDrawLayer("ARTWORK")
btnNoteIcon:SetPoint("CENTER", 0, 0)
frame.tbNote:SetBackdrop(nil)
S:HandleEditBox(frame.tbNote)
local buttonSave = frame.tbNote:GetChildren()
buttonSave:SetHeight(26)
buttonSave:SetPoint("LEFT", frame.tbNote, "RIGHT", 0, 0)
S:HandleButton(buttonSave)
frame.isSkinned = true
end
for _, button in ipairs(frame.buttons) do
S:HandleButton(button)
end
end
end)
end)
S:AddCallbackForAddon("EPGP_LootMaster_ML", "EPGP_LootMaster_ML", function()
if not E.private.addOnSkins.EPGP_LootMaster then return end
local LMML = LibStub("AceAddon-3.0"):GetAddon("LootMasterML", true)
if not LMML then return end
S:SecureHook(LMML, "GetFrame", function(self)
self.frame:SetTemplate("Transparent")
self.frame.titleFrame:SetTemplate("Default")
self.frame.extralootframe:SetTemplate("Transparent")
self.frame.extralootframe:Point("TOPRIGHT", self.frame, "TOPLEFT", 1, -10)
self.frame.itemIcon:SetTemplate("Default")
self.frame.itemIcon:GetNormalTexture():SetInside(self.frame.itemIcon.backdrop)
self.frame.itemIcon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
hooksecurefunc(self.frame.itemIcon, "SetNormalTexture", function(self, texture)
if texture and self:GetParent().currentLoot then
self:SetBackdropBorderColor(GetItemQualityColor(self:GetParent().currentLoot.quality))
end
end)
self.frame.tbGPValueFrame:SetBackdrop(nil)
S:HandleEditBox(self.frame.tbGPValue)
S:HandleButton(self.frame.btnAnnounce)
S:HandleButton(self.frame.btnDiscard)
self.frame.sstScroll.frame:SetTemplate("Default")
S:HandleScrollBar(_G[self.frame.sstScroll.frame:GetName().."ScrollFrameScrollBar"])
S:Unhook(LMML, "GetFrame")
end)
local function CreateLootButton_Icon_SetNormalTexturefunction(self, texture)
if texture and self.data then
self:SetBackdropBorderColor(GetItemQualityColor(self.data.quality))
end
end
S:RawHook(LMML, "CreateLootButton", function(self)
local icon = S.hooks[self].CreateLootButton(self)
icon:SetTemplate("Default")
icon:GetNormalTexture():SetInside(icon.backdrop)
icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
hooksecurefunc(icon, "SetNormalTexture", CreateLootButton_Icon_SetNormalTexturefunction)
return icon
end)
S:SecureHook(LMML, "ShowRaidInfoLookup", function(self)
self.raidinfoframe:SetTemplate("Transparent")
self.raidinfoframe.titleFrame:SetTemplate("Default")
for i = 1, self.raidinfoframe:GetNumChildren() do
local child = select(i, self.raidinfoframe:GetChildren())
if child and child:IsObjectType("Button") then
S:HandleButton(child)
end
end
self.raidinfoframe.sstScroll.frame:SetTemplate("Default")
S:HandleScrollBar(_G[self.raidinfoframe.sstScroll.frame:GetName().."ScrollFrameScrollBar"])
self.raidinfoframe.tbWhisperFrame:SetBackdrop(nil)
S:HandleEditBox(self.raidinfoframe.tbWhisperBox)
S:Unhook(LMML, "ShowRaidInfoLookup")
end)
end)