local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB local S = E:GetModule("Skins") --Lua functions local _G = _G local unpack = unpack --WoW API / Variables S:AddCallbackForAddon("Blizzard_GlyphUI", "Skin_Blizzard_GlyphUI", function() if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.talent then return end if not PlayerTalentFrame then TalentFrame_LoadUI() end GlyphFrame:StripTextures() GlyphFrameBackground:Size(323, 349) GlyphFrameBackground:Point("TOPLEFT", 20, -59) GlyphFrameBackground:CreateBackdrop() S:HookScript(GlyphFrame, "OnShow", function(self) S:SetBackdropHitRect(self, PlayerTalentFrame.backdrop) S:Unhook(self, "OnShow") end) GlyphFrameBackground:SetTexture("Interface\\Spellbook\\UI-GlyphFrame") GlyphFrameGlow:SetTexture("Interface\\Spellbook\\UI-GlyphFrame-Glow") GlyphFrameGlow:SetAllPoints(GlyphFrameBackground) -- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 512, 512, 315, 340, 21, 72 GlyphFrameBackground:SetTexCoord(0.041015625, 0.65625, 0.140625, 0.8046875) -- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 512, 512, 315, 340, 30, 34 GlyphFrameGlow:SetTexCoord(0.05859375, 0.673828125, 0.06640625, 0.73046875) local glyphBGScale = 1.0253968 local glyphPositions = { {"CENTER", -1, 126}, {"CENTER", -1, -119}, {"TOPLEFT", 8, -62}, {"BOTTOMRIGHT", -10, 70}, {"TOPRIGHT", -8, -62}, {"BOTTOMLEFT", 7, 70} } local glyphFrameLevel = GlyphFrame:GetFrameLevel() + 1 for i = 1, 6 do local frame = _G["GlyphFrameGlyph"..i] frame:SetParent(GlyphFrameBackground.backdrop) frame:SetFrameLevel(glyphFrameLevel) frame:SetScale(glyphBGScale) frame:Point(unpack(glyphPositions[i])) end GlyphFrame:HookScript("OnShow", function() PlayerTalentFrameTitleText:Hide() PlayerTalentFramePointsBar:Hide() PlayerTalentFrameScrollFrame:Hide() PlayerTalentFrameStatusFrame:Hide() PlayerTalentFrameActivateButton:Hide() end) GlyphFrame:SetScript("OnHide", function() PlayerTalentFrameTitleText:Show() PlayerTalentFramePointsBar:Show() PlayerTalentFrameScrollFrame:Show() end) hooksecurefunc(PlayerTalentFrame, "updateFunction", function() if GlyphFrame:IsShown() then PlayerTalentFramePreviewBar:Hide() end end) do local slotAnimations = {} local TOPLEFT, TOP, TOPRIGHT, BOTTOMRIGHT, BOTTOM, BOTTOMLEFT = 3, 1, 5, 4, 2, 6 slotAnimations[TOPLEFT] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = -85, ["yStart"] = 17, ["yStop"] = 60} slotAnimations[TOP] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = -13, ["yStart"] = 17, ["yStop"] = 100} slotAnimations[TOPRIGHT] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = 59, ["yStart"] = 17, ["yStop"] = 60} slotAnimations[BOTTOM] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = -13, ["yStart"] = 17, ["yStop"] = -64} slotAnimations[BOTTOMLEFT] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = -87, ["yStart"] = 18, ["yStop"] = -27} slotAnimations[BOTTOMRIGHT] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = 61, ["yStart"] = 18, ["yStop"] = -27} for _, animData in pairs(slotAnimations) do animData.xStart = animData.xStart + 3 animData.yStart = animData.yStart + 8 animData.xStop = (animData.xStop + 3) * glyphBGScale animData.yStop = (animData.yStop + 8) * glyphBGScale end hooksecurefunc("GlyphFrame_StartSlotAnimation", function(slotID, duration, size) local sparkle = _G["GlyphFrameSparkle"..slotID] local animation = slotAnimations[slotID] sparkle:SetPoint("CENTER", GlyphFrame, animation.point, animation.xStart, animation.yStart) sparkle.animGroup.translate:SetOffset(animation.xStop - animation.xStart, animation.yStop - animation.yStart) end) end end)