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.

465 lines
16 KiB

5 years ago
local AS = unpack(AddOnSkins)
function AS:Blizzard_Collections(event, addon)
if addon ~= 'Blizzard_Collections' then return end
AS:SkinFrame(CollectionsJournal)
CollectionsJournal.portrait:SetAlpha(0)
AS:SkinCloseButton(CollectionsJournal.CloseButton)
for i = 1, 5 do
AS:SkinTab(_G["CollectionsJournalTab"..i])
end
-- Mount Journal
AS:StripTextures(MountJournal)
AS:SkinBackdropFrame(MountJournal.MountDisplay)
MountJournal.MountDisplay.Backdrop:SetPoint('BOTTOMRIGHT', 2, -2)
MountJournal.MountDisplay.ShadowOverlay:Hide()
MountJournal.MountDisplay.ShadowOverlay:SetPoint('BOTTOMRIGHT', 2, -2)
AS:SkinFrame(MountJournal.MountCount)
AS:SkinButton(MountJournalFilterButton)
AS:SkinIconButton(MountJournal.SummonRandomFavoriteButton)
AS:SkinEditBox(MountJournal.searchBox)
MountJournal.searchBox:SetPoint("TOPLEFT", MountJournal.LeftInset, 5, -10)
AS:SkinButton(MountJournal.MountButton, true)
MountJournal.MountButton:SetPoint('BOTTOMLEFT', '$parent', 'BOTTOMLEFT', 6, 4)
AS:CreateBackdrop(MountJournal.ListScrollFrame)
MountJournal.ListScrollFrame.Backdrop:SetPoint('BOTTOMRIGHT', -3, -3)
AS:SkinScrollBar(MountJournal.ListScrollFrame.scrollBar)
AS:SkinTexture(MountJournal.MountDisplay.InfoButton.Icon)
AS:SkinArrowButton(MountJournal.MountDisplay.ModelScene.RotateLeftButton, 'left')
AS:SkinArrowButton(MountJournal.MountDisplay.ModelScene.RotateRightButton, 'right')
AS:CreateBackdrop(MountJournal.MountDisplay.InfoButton)
AS:SetOutside(MountJournal.MountDisplay.InfoButton.Backdrop, MountJournal.MountDisplay.InfoButton.Icon)
for _, Button in pairs(MountJournal.ListScrollFrame.buttons) do
AS:CreateBackdrop(Button)
Button:SetHighlightTexture(nil)
Button.Backdrop:SetFrameLevel(Button:GetFrameLevel())
AS:SetInside(Button.Backdrop, Button, 3, 3)
Button:HookScript("OnEnter", function(self)
self.Backdrop:SetBackdropBorderColor(unpack(AS.Color))
self.icon.Backdrop:SetBackdropBorderColor(unpack(AS.Color))
end)
Button:HookScript("OnLeave", function(self)
if self.selected then
self.Backdrop:SetBackdropBorderColor(1, .8, .1)
self.icon.Backdrop:SetBackdropBorderColor(1, .8, .1)
else
self.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
self.icon.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
end
end)
hooksecurefunc(Button.selectedTexture, 'Show', function()
Button.name:SetTextColor(1, .8, .1)
Button.Backdrop:SetBackdropBorderColor(1, .8, .1)
Button.icon.Backdrop:SetBackdropBorderColor(1, .8, .1)
end)
hooksecurefunc(Button.selectedTexture, 'Hide', function()
Button.name:SetTextColor(1, 1, 1)
Button.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
Button.icon.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
end)
Button.factionIcon:SetPoint('TOPRIGHT', -1, -4)
Button.factionIcon:SetPoint('BOTTOMRIGHT', -1, 4)
Button.icon:SetPoint("LEFT", -37, 0)
Button.iconBorder:SetTexture('')
Button.background:SetTexture('')
Button.selectedTexture:SetAlpha(0)
Button.factionIcon:SetDrawLayer('OVERLAY')
AS:SkinTexture(Button.icon, true)
AS:StyleButton(Button.DragButton)
Button.DragButton.ActiveTexture:SetAlpha(0)
Button.pulseName = Button:CreateFontString(nil, 'OVERLAY', 'GameFontNormal')
Button.pulseName:SetJustifyH('LEFT')
Button.pulseName:SetSize(147, 25)
Button.pulseName:SetAllPoints(Button.name)
Button.pulseName:Hide()
Button.pulseName.anim = Button.pulseName:CreateAnimationGroup()
Button.pulseName.anim:SetToFinalAlpha(true)
Button.pulseName.anim.alphaout = Button.pulseName.anim:CreateAnimation("Alpha")
Button.pulseName.anim.alphaout:SetOrder(1)
Button.pulseName.anim.alphaout:SetFromAlpha(1)
Button.pulseName.anim.alphaout:SetToAlpha(0)
Button.pulseName.anim.alphaout:SetDuration(1)
Button.pulseName.anim.alphain = Button.pulseName.anim:CreateAnimation("Alpha")
Button.pulseName.anim.alphain:SetOrder(2)
Button.pulseName.anim.alphain:SetFromAlpha(0)
Button.pulseName.anim.alphain:SetToAlpha(1)
Button.pulseName.anim.alphain:SetDuration(1)
hooksecurefunc(Button.name, 'SetText', function(self, text)
Button.pulseName:SetText(text)
Button.pulseName:SetTextColor(unpack(AS.Color))
end)
Button:HookScript("OnUpdate", function(self)
if self.active then
Button.pulseName:Show()
Button.pulseName.anim:Play()
elseif Button.pulseName.anim:IsPlaying() then
Button.pulseName:Hide()
Button.pulseName.anim:Stop()
end
end)
end
-- Pet Journal
AS:Kill(PetJournalTutorialButton)
AS:SkinFrame(PetJournal.PetCount)
for _, Button in pairs({ 'HealPetButton', 'SummonRandomFavoritePetButton'}) do
AS:SkinIconButton(PetJournal[Button])
end
AS:SkinButton(PetJournal.SummonButton, true)
PetJournal.SummonButton:SetPoint('BOTTOMLEFT', PetJournal, 'BOTTOMLEFT', 6, 4)
AS:SkinButton(PetJournal.FindBattleButton, true)
AS:StripTextures(PetJournal.RightInset)
AS:StripTextures(PetJournal.LeftInset)
AS:SkinEditBox(PetJournal.searchBox)
PetJournal.searchBox:SetPoint("TOPLEFT", PetJournal.LeftInset, 5, -10)
AS:SkinButton(PetJournalFilterButton)
AS:SkinBackdropFrame(PetJournal.listScroll)
PetJournal.listScroll.Backdrop:SetPoint('BOTTOMRIGHT', -3, -3)
AS:SkinScrollBar(PetJournal.listScroll.scrollBar)
PetJournal.AchievementStatus:DisableDrawLayer("BACKGROUND")
AS:StripTextures(PetJournal.SpellSelect)
for _, Button in pairs(PetJournal.listScroll.buttons) do
AS:SkinBackdropFrame(Button)
Button:SetHighlightTexture(nil)
Button.Backdrop:SetFrameLevel(Button:GetFrameLevel())
AS:SetInside(Button.Backdrop, Button, 3, 3)
Button.name:SetPoint("TOPLEFT", Button.icon, "TOPRIGHT", 10, 2)
Button:HookScript("OnEnter", function(self)
self.Backdrop:SetBackdropBorderColor(unpack(AS.Color))
end)
Button:HookScript("OnLeave", function(self)
if self.selected then
self.Backdrop:SetBackdropBorderColor(1, .8, .1)
else
self.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
end
end)
hooksecurefunc(Button.selectedTexture, 'Show', function()
Button.name:SetTextColor(1, .8, .1)
Button.Backdrop:SetBackdropBorderColor(1, .8, .1)
end)
hooksecurefunc(Button.selectedTexture, 'Hide', function()
Button.name:SetTextColor(1, 1, 1)
Button.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
end)
AS:SkinTexture(Button.icon, true)
AS:StyleButton(Button.dragButton)
Button.dragButton.ActiveTexture:SetAlpha(0)
Button.dragButton.levelBG:SetTexture()
Button.dragButton.level:ClearAllPoints()
Button.dragButton.level:SetPoint("TOPLEFT", Button.name, "BOTTOMLEFT", 1, 5)
hooksecurefunc(Button, 'Show', function(self)
if self.dragButton.level:GetText() then
self.dragButton.level:SetText(LEVEL..' '..self.dragButton.level:GetText(), true)
end
end)
Button.petTypeIcon:SetPoint('TOPRIGHT', -4, -4)
Button.petTypeIcon:SetPoint('BOTTOMRIGHT', -4, 4)
Button.icon:SetPoint("LEFT", -37, 0)
hooksecurefunc(Button.iconBorder, 'SetVertexColor', function(self, r, g, b)
Button.icon.Backdrop:SetBackdropBorderColor(r, g, b)
end)
hooksecurefunc(Button.iconBorder, 'Hide', function(self)
Button.icon.Backdrop:SetBackdropColor(unpack(AS.BorderColor))
end)
end
AS:StripTextures(PetJournal.loadoutBorder)
for i = 1, 3 do
local Pet = PetJournal.Loadout['Pet'..i]
AS:SkinFrame(Pet.helpFrame)
AS:SkinFrame(Pet)
Pet.petTypeIcon:SetPoint("BOTTOMLEFT", 2, 2)
AS:SkinTexture(Pet.icon)
AS:StyleButton(Pet.dragButton)
AS:CreateBackdrop(Pet.dragButton)
AS:SetOutside(Pet.dragButton.Backdrop, Pet.icon)
AS:StripTextures(Pet.setButton)
AS:SkinStatusBar(Pet.healthFrame.healthBar)
AS:SkinStatusBar(Pet.xpBar)
hooksecurefunc(Pet.qualityBorder, 'SetVertexColor', function(self, r, g, b)
Pet.dragButton.Backdrop:SetBackdropBorderColor(r, g, b)
end)
for index = 1, 3 do
local Spell = PetJournal.Loadout['Pet'..i]["spell"..index]
AS:SkinIconButton(Spell)
Spell.FlyoutArrow:SetPoint("BOTTOM", '$parent', "BOTTOM", 0, -5)
Spell.FlyoutArrow:SetTexture([[Interface\Buttons\ActionBarFlyoutButton]])
end
end
for i = 1, 2 do
local btn = PetJournal.SpellSelect["Spell"..i]
AS:SkinFrame(btn)
AS:SetInside(btn.icon, btn)
btn.icon:SetDrawLayer("BORDER")
hooksecurefunc(btn, 'SetChecked', function(self, value)
if value == true then
btn:SetBackdropBorderColor(1, .92, 0)
else
btn:SetBackdropBorderColor(unpack(AS.BorderColor))
end
end)
end
AS:SkinFrame(PetJournal.PetCard)
AS:StripTextures(PetJournal.PetCardInset)
--PetJournal.PetCard.PetInfo.levelBG:SetTexture()
AS:SkinTexture(PetJournal.PetCard.PetInfo.icon, true)
PetJournal.PetCard.PetInfo.qualityBorder:SetAlpha(0)
hooksecurefunc(PetJournal.PetCard.PetInfo.qualityBorder, 'SetVertexColor', function(self, r, g, b)
PetJournal.PetCard.PetInfo.icon.Backdrop:SetBackdropBorderColor(r, g, b)
end)
AS:SkinTooltip(PetJournalPrimaryAbilityTooltip)
for i = 1, 6 do
local spell = PetJournal.PetCard["spell"..i]
AS:SkinIconButton(spell)
end
AS:SkinStatusBar(PetJournal.PetCard.HealthFrame.healthBar)
AS:SkinStatusBar(PetJournal.PetCard.xpBar)
PetJournal.loadoutBorder:SetHeight(350)
-- Toy Box
AS:SkinButton(ToyBoxFilterButton)
AS:SkinEditBox(ToyBox.searchBox)
ToyBox.searchBox:SetPoint("TOPRIGHT", ToyBox, "TOPRIGHT", -107, -35)
AS:SkinArrowButton(ToyBox.PagingFrame.NextPageButton, 'right')
AS:SkinArrowButton(ToyBox.PagingFrame.PrevPageButton, 'left')
AS:StripTextures(ToyBox.iconsFrame)
for i = 1, 18 do
local Button = ToyBox.iconsFrame['spellButton'..i]
AS:SkinFrame(Button)
AS:StyleButton(Button)
AS:SkinTexture(Button.iconTexture)
AS:SkinTexture(Button.iconTextureUncollected)
AS:SetInside(Button.iconTexture)
AS:SetInside(Button.iconTextureUncollected)
AS:CreateBackdrop(Button)
Button.name:SetPoint('LEFT', Button, 'RIGHT', 9, 0)
hooksecurefunc(Button.name, 'SetTextColor', function(self, r, g, b)
if r == 1 and g == 0.82 and b == 0 then
local quality = select(3, GetItemInfo(Button.itemID))
r, g, b = 1, 1, 1
if quality and quality > 1 then
r, g, b = GetItemQualityColor(quality)
end
Button:SetBackdropBorderColor(r, g, b)
Button.name:SetTextColor(r, g, b)
end
if r == 0.33 and g == 0.27 and b == 0.2 then
Button:SetBackdropBorderColor(unpack(AS.BorderColor))
Button.name:SetTextColor(.6, .6, .6)
end
end)
Button.Backdrop:SetPoint('TOPLEFT', Button, 'TOPRIGHT', 0, -2)
Button.Backdrop:SetPoint('BOTTOMLEFT', Button, 'BOTTOMRIGHT', 0, 2)
Button.Backdrop:SetPoint('RIGHT', Button.name, 'RIGHT', 0, 0)
end
AS:SkinStatusBar(ToyBox.progressBar)
-- Heirlooms
AS:SkinStatusBar(HeirloomsJournal.progressBar)
AS:SkinEditBox(HeirloomsJournal.SearchBox)
HeirloomsJournal.SearchBox:SetPoint("TOPRIGHT", HeirloomsJournal, "TOPRIGHT", -107, -35)
AS:SkinButton(HeirloomsJournalFilterButton)
AS:SkinDropDownBox(HeirloomsJournal.filterDropDown)
AS:SkinDropDownBox(HeirloomsJournal.classDropDown)
AS:StripTextures(HeirloomsJournal.iconsFrame)
AS:SkinArrowButton(HeirloomsJournal.PagingFrame.NextPageButton, 'right')
AS:SkinArrowButton(HeirloomsJournal.PagingFrame.PrevPageButton, 'left')
hooksecurefunc(HeirloomsJournal, 'UpdateButton', function(_, Button)
if not Button.Backdrop then
AS:SetTemplate(Button)
AS:StyleButton(Button)
AS:SkinTexture(Button.iconTexture)
AS:SkinTexture(Button.iconTextureUncollected)
AS:SetInside(Button.iconTexture)
AS:SetInside(Button.iconTextureUncollected)
AS:CreateBackdrop(Button)
Button.Backdrop:SetPoint('TOPLEFT', Button, 'TOPRIGHT', 0, -2)
Button.Backdrop:SetPoint('BOTTOMLEFT', Button, 'BOTTOMRIGHT', 0, 2)
Button.Backdrop:SetPoint('RIGHT', Button.name, 'RIGHT', 2, 0)
Button.slotFrameCollected:SetAlpha(0)
Button.slotFrameUncollected:SetAlpha(0)
Button.special:SetJustifyH('RIGHT')
Button.special:ClearAllPoints()
Button.special:SetPoint('BOTTOMRIGHT', Button.Backdrop, 'BOTTOMRIGHT', -2, 2)
end
Button.levelBackground:SetTexture()
Button.name:SetPoint('LEFT', Button, 'RIGHT', 4, 8)
Button.level:SetPoint('TOPLEFT', Button.levelBackground,'TOPLEFT', 25, 2)
Button.SetTextColor = nil
if C_Heirloom.PlayerHasHeirloom(Button.itemID) then
Button.name:SetTextColor(1, 1, 1)
Button.special:SetTextColor(1, .82, 0)
Button:SetBackdropBorderColor(GetItemQualityColor(7))
else
Button:SetBackdropBorderColor(unpack(AS.BorderColor))
end
Button.SetTextColor = AS.Noop
end)
-- Wardrobe Collections
AS:SkinStatusBar(WardrobeCollectionFrame.progressBar)
AS:SkinButton(WardrobeCollectionFrame.SetsTab)
AS:SkinButton(WardrobeCollectionFrame.ItemsTab)
AS:SkinEditBox(WardrobeCollectionFrame.searchBox)
AS:SkinButton(WardrobeCollectionFrame.FilterButton)
WardrobeCollectionFrame.FilterButton:SetPoint('LEFT', WardrobeCollectionFrame.searchBox, 'RIGHT', 2, 0)
for _, Frame in ipairs(WardrobeCollectionFrame.ContentFrames) do
AS:StripTextures(Frame)
if Frame.Models then
for _, Model in pairs(Frame.Models) do
AS:SkinBackdropFrame(Model)
Model:SetFrameLevel(Model:GetFrameLevel() + 2)
AS:SetOutside(Model.Backdrop, Model, 2, 2)
AS:Kill(Model.Border)
Model.TransmogStateTexture:SetAlpha(0)
hooksecurefunc(Model.Border, 'SetAtlas', function(self, texture)
local r, g, b
if texture == "transmog-wardrobe-border-uncollected" then
r, g, b = 1, 1, 0
elseif texture == "transmog-wardrobe-border-unusable" then
r, g, b = 1, 0, 0
else
r, g, b = unpack(AS.BorderColor)
end
Model.Backdrop:SetBackdropBorderColor(r, g, b)
end)
end
end
if Frame.PendingTransmogFrame then
AS:CreateBackdrop(Frame.PendingTransmogFrame.Glowframe)
AS:SetOutside(Frame.PendingTransmogFrame.Glowframe.Backdrop)
Frame.PendingTransmogFrame.Glowframe.Backdrop:SetBackdropColor(0, 0, 0, 0)
Frame.PendingTransmogFrame.Glowframe.Backdrop:SetBackdropBorderColor(1, .77, 1, 1)
Frame.PendingTransmogFrame.Glowframe = Frame.PendingTransmogFrame.Glowframe.Backdrop
for i = 1, 12 do
Frame.PendingTransmogFrame['Wisp'..i]:Hide()
end
end
if Frame.PagingFrame then
AS:SkinArrowButton(Frame.PagingFrame.NextPageButton, 'right')
AS:SkinArrowButton(Frame.PagingFrame.PrevPageButton, 'left')
end
end
AS:SkinFrame(WardrobeCollectionFrame.ItemsCollectionFrame)
AS:SkinDropDownBox(WardrobeCollectionFrame.ItemsCollectionFrame.WeaponDropDown)
AS:StripTextures(WardrobeCollectionFrame.SetsCollectionFrame.DetailsFrame)
AS:SkinScrollBar(WardrobeCollectionFrame.SetsCollectionFrame.ScrollFrame.scrollBar)
AS:SkinButton(WardrobeCollectionFrame.SetsCollectionFrame.DetailsFrame.VariantSetsButton)
-- Transmog Frame
AS:SkinFrame(WardrobeFrame)
AS:SkinCloseButton(WardrobeFrame.CloseButton)
AS:SkinDropDownBox(WardrobeTransmogFrame.OutfitDropDown)
AS:SkinButton(WardrobeTransmogFrame.OutfitDropDown.SaveButton)
WardrobeTransmogFrame.OutfitDropDown.SaveButton:SetHeight(20)
WardrobeTransmogFrame.OutfitDropDown.SaveButton:SetPoint("LEFT", WardrobeTransmogFrame.OutfitDropDown, "RIGHT", -11, -5)
AS:SkinBackdropFrame(WardrobeOutfitFrame)
AS:SetInside(WardrobeOutfitFrame.Backdrop, WardrobeOutfitFrame, 8, 8)
AS:SkinFrame(WardrobeTransmogFrame)
AS:CreateBackdrop(WardrobeTransmogFrame.MoneyMiddle)
AS:SkinButton(WardrobeTransmogFrame.ModelScene.ClearAllPendingButton)
for _, Button in pairs(WardrobeTransmogFrame.ModelScene.SlotButtons) do
AS:SkinBackdropFrame(Button)
AS:SkinTexture(Button.Icon)
Button.Icon:SetAllPoints()
AS:SetOutside(Button.StatusBorder, Button, 4, 4)
AS:SetOutside(Button.PendingFrame.Ants, Button, 4, 4)
AS:SetOutside(Button.PendingFrame.Glow, Button, 12, 12)
Button:SetFrameLevel(Button:GetFrameLevel() + 2)
AS:Kill(Button.Border)
Button.NoItemTexture:SetTexture([[Interface\Transmogrify\Textures]])
end
AS:SkinButton(WardrobeTransmogFrame.SpecButton)
AS:SkinButton(WardrobeTransmogFrame.ApplyButton)
WardrobeTransmogFrame.SpecButton:SetPoint("RIGHT", WardrobeTransmogFrame.ApplyButton, "LEFT", -2, 0)
WardrobeTransmogFrame.ApplyButton:SetPoint('BOTTOMRIGHT', WardrobeTransmogFrame, 'BOTTOMRIGHT', 0, -23)
AS:UnregisterSkinEvent(addon, event)
end
AS:RegisterSkin("Blizzard_Collections", AS.Blizzard_Collections, 'ADDON_LOADED')