You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

137 lines
3.9 KiB

5 years ago
local AS = unpack(AddOnSkins)
function AS:Blizzard_Spellbook()
AS:SkinFrame(SpellBookFrame, nil, nil, true)
AS:SkinCloseButton(SpellBookFrame.CloseButton)
for i = 1, 5 do
AS:SkinTab(_G["SpellBookFrameTabButton"..i])
end
SpellBookPageText:SetTextColor(1, 1, 1)
SpellBookPageText:SetPoint("BOTTOMRIGHT", -100, 32)
AS:SkinArrowButton(SpellBookPrevPageButton)
AS:SkinArrowButton(SpellBookNextPageButton)
SpellBookFrameTutorialButton.Ring:Hide()
SpellBookFrameTutorialButton:SetPoint("TOPLEFT", SpellBookFrame, "TOPLEFT", -5, 10)
for i = 1, SPELLS_PER_PAGE do
local Button = _G["SpellButton"..i]
local Icon = _G["SpellButton"..i.."IconTexture"]
AS:SkinButton(Button, true)
AS:SkinTexture(Icon)
AS:SetInside(Icon)
Button:SetCheckedTexture('')
Button:SetPushedTexture('')
AS:SetInside(Button.cooldown)
Button.AutoCastShine = CreateFrame('Frame', '$parentShine', Button, 'AutoCastShineTemplate')
Button.AutoCastShine:SetAllPoints()
for _, sparks in pairs(Button.AutoCastShine.sparkles) do
sparks:SetSize(sparks:GetWidth() * 2, sparks:GetHeight() * 2)
end
hooksecurefunc(Button.SpellHighlightTexture, 'SetShown', function(self, value)
if value == true then
AutoCastShine_AutoCastStart(Button.AutoCastShine, unpack(AS.Color))
end
end)
hooksecurefunc(Button.SpellHighlightTexture, 'Hide', function() AutoCastShine_AutoCastStop(Button.AutoCastShine) end)
end
hooksecurefunc("SpellButton_UpdateButton", function()
for i = 1, SPELLS_PER_PAGE do
local Button = _G["SpellButton"..i]
Button:SetHighlightTexture('')
local r = Button.SpellName:GetTextColor()
if r < 0.8 then
Button.SpellName:SetTextColor(0.6, 0.6, 0.6)
else
Button.SpellName:SetTextColor(1, 1, 1)
end
Button.SpellSubName:SetTextColor(0.6, 0.6, 0.6)
Button.RequiredLevelString:SetTextColor(0.6, 0.6, 0.6)
end
end)
for i = 1, 8 do
local Tab = _G["SpellBookSkillLineTab"..i]
AS:SkinFrame(Tab)
Tab:HookScript("OnEnter", function(self) self:SetBackdropBorderColor(unpack(AS.Color)) end)
Tab:HookScript("OnLeave", function(self) if self:GetChecked() then self:SetBackdropBorderColor(1, .8, .1) else self:SetBackdropBorderColor(unpack(AS.BorderColor)) end end)
hooksecurefunc(Tab, 'SetChecked', function(self, value)
if value == true then
self:SetBackdropBorderColor(1, .8, .1)
else
self:SetBackdropBorderColor(unpack(AS.BorderColor))
end
end)
end
hooksecurefunc("SpellBookFrame_UpdateSkillLineTabs", function()
for i = 1, 8 do
local Tab = _G["SpellBookSkillLineTab"..i]
if Tab:GetNormalTexture() then
AS:SkinTexture(Tab:GetNormalTexture())
AS:SetInside(Tab:GetNormalTexture())
end
end
end)
-- Professions
for _, Frame in pairs({ _G.SpellBookProfessionFrame:GetChildren() }) do
Frame.professionName:SetTextColor(1, 1, 1)
Frame.missingHeader:SetTextColor(1, 1, 1)
Frame.missingText:SetTextColor(1, 1, 1)
AS:SkinStatusBar(Frame.statusBar)
Frame.statusBar.rankText:SetPoint("CENTER")
if Frame.icon then
Frame.professionName:SetPoint("TOPLEFT", 100, -4)
AS:StripTextures(Frame)
AS:SkinTexture(Frame.icon, true)
Frame.icon:SetAlpha(1)
Frame.icon:SetDesaturated(false)
end
for i = 1, 2 do
AS:SkinButton(Frame['button'..i], true)
if Frame['button'..i].iconTexture then
AS:SkinTexture(Frame['button'..i].iconTexture)
AS:SetInside(Frame['button'..i].iconTexture)
end
end
end
hooksecurefunc("FormatProfession", function(frame, index)
if index then
local _, texture = GetProfessionInfo(index)
if frame.icon and texture then
frame.icon:SetTexture(texture)
end
end
end)
hooksecurefunc("UpdateProfessionButton", function(self)
self:SetHighlightTexture('')
self.spellString:SetTextColor(1, 1, 1)
self.subSpellString:SetTextColor(1, 1, 1)
end)
SpellBookFrameTabButton1:SetPoint("TOPLEFT", SpellBookFrame, "BOTTOMLEFT", -5, 2)
end
AS:RegisterSkin('Blizzard_Spellbook', AS.Blizzard_Spellbook)