local AS = unpack(AddOnSkins) function AS:Blizzard_Spellbook() SpellBookFrame:SetSize(354, 442) SpellBookFrame:SetHitRectInsets(0, 0, 0, 0) SpellBookTitleText:ClearAllPoints() SpellBookTitleText:SetPoint('TOP', '$parent', 'TOP', 0, -5) SpellBookCloseButton:ClearAllPoints() SpellBookCloseButton:SetPoint('TOPRIGHT', '$parent', 'TOPRIGHT', 4, 5) SpellBookTitleText:SetPoint('TOP', '$parent', 'TOP', 0, -5) SpellBookFrameTabButton1:ClearAllPoints() SpellBookFrameTabButton1:SetPoint('TOPLEFT', '$parent', 'BOTTOMLEFT', 0, 19) SpellBookPageText:ClearAllPoints() SpellBookPageText:SetPoint('BOTTOMRIGHT', -100, 38) SpellBookPrevPageButton:ClearAllPoints() SpellBookPrevPageButton:SetPoint('BOTTOMRIGHT', '$parent', -66, 26) SpellBookNextPageButton:ClearAllPoints() SpellBookNextPageButton:SetPoint('BOTTOMRIGHT', '$parent', -31, 26) SpellBookSkillLineTab1:ClearAllPoints() SpellBookSkillLineTab1:SetPoint('TOPLEFT', '$parent', 'TOPRIGHT', 0, -17) AS:SkinFrame(SpellBookFrame, nil, nil, true) AS:SkinCloseButton(SpellBookCloseButton) for i = 1, 3 do local Tab = _G["SpellBookFrameTabButton"..i] AS:SkinTab(Tab) Tab.Backdrop:SetPoint('TOPLEFT', 14, -18) Tab.Backdrop:SetPoint('BOTTOMRIGHT', -14, 18) end SpellBookPageText:SetTextColor(1, 1, 1) AS:SkinArrowButton(SpellBookPrevPageButton) AS:SkinArrowButton(SpellBookNextPageButton) 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 end hooksecurefunc("SpellButton_UpdateButton", function() for i = 1, SPELLS_PER_PAGE do local Button = _G["SpellButton"..i] local iconTexture = _G["SpellButton"..i.."IconTexture"]; 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) 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) end AS:RegisterSkin('Blizzard_Spellbook', AS.Blizzard_Spellbook)