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.

463 lines
17 KiB

local AS = unpack(AddOnSkins)
function AS:Blizzard_AdventureMap(event, addon)
if addon ~= 'Blizzard_AdventureMap' then return end
local function HandleReward(frame)
if (not frame) then return end
if frame.Icon then
AS:SkinTexture(frame.Icon, true)
AS:CreateBackdrop(frame)
frame.Backdrop:SetPoint('TOPLEFT', frame.Icon, 'TOPRIGHT', -1, 0)
frame.Backdrop:SetPoint('BOTTOMLEFT', frame.Icon, 'BOTTOMRIGHT', -1, 0)
frame.Backdrop:SetPoint('RIGHT', frame, 'RIGHT', -5, 0)
frame.Count:ClearAllPoints()
frame.Count:SetPoint("BOTTOMRIGHT", frame.Icon, "BOTTOMRIGHT", 2, 0)
end
if frame.NameFrame then frame.NameFrame:SetAlpha(0) end
if frame.ItemNameBG then frame.ItemNameBG:SetAlpha(0) end
if (frame.CircleBackground) then
frame.CircleBackground:SetAlpha(0)
frame.CircleBackgroundGlow:SetAlpha(0)
end
end
AS:SkinBackdropFrame(AdventureMapQuestChoiceDialog)
local function SkinRewards()
for reward in pairs(AdventureMapQuestChoiceDialog.rewardPool.activeObjects) do
HandleReward(reward)
end
end
hooksecurefunc(AdventureMapQuestChoiceDialog, "RefreshRewards", SkinRewards)
AdventureMapQuestChoiceDialog.Details.Child.TitleHeader:SetTextColor(1, 1, 0)
AdventureMapQuestChoiceDialog.Details.Child.DescriptionText:SetTextColor(1, 1, 1)
AdventureMapQuestChoiceDialog.Details.Child.ObjectivesHeader:SetTextColor(1, 1, 0)
AdventureMapQuestChoiceDialog.Details.Child.ObjectivesText:SetTextColor(1, 1, 1)
AS:SkinCloseButton(AdventureMapQuestChoiceDialog.CloseButton)
AS:SkinScrollBar(AdventureMapQuestChoiceDialog.Details.ScrollBar)
AS:SkinButton(AdventureMapQuestChoiceDialog.AcceptButton)
AS:SkinButton(AdventureMapQuestChoiceDialog.DeclineButton)
AS:UnregisterSkinEvent(addon, event)
end
function AS:Blizzard_ChallengesUI(event, addon)
if addon ~= 'Blizzard_ChallengesUI' then return end
AS:StripTextures(ChallengesFrameInset, true)
AS:UnregisterSkinEvent(addon, event)
end
function AS:Blizzard_PvE()
AS:SkinFrame(PVEFrame)
AS:SkinCloseButton(PVEFrame.CloseButton)
PVEFrame.portrait:SetAlpha(0)
PVEFrame.shadows:SetAlpha(0)
for i = 1, 3 do
AS:SkinTab(PVEFrame['tab'..i])
end
for i = 1, 3 do
local Button = GroupFinderFrame["groupButton"..i]
AS:SetTemplate(Button)
Button.bg:SetAlpha(0)
Button.ring:SetAlpha(0)
Button:SetHighlightTexture('')
AS:SkinTexture(Button.icon, true)
Button.icon:SetSize(45, 45)
Button.icon.Backdrop:SetFrameLevel(Button.icon.Backdrop:GetFrameLevel() + 1)
Button.name:SetTextColor(1, 1, 1)
Button:HookScript('OnEnter', function(self)
self:SetBackdropBorderColor(1, .82, 0)
self.icon.Backdrop:SetBackdropBorderColor(1, .82, 0)
end)
Button:HookScript('OnLeave', function(self)
if self:GetID() == GroupFinderFrame.selectionIndex then
self:SetBackdropBorderColor(unpack(AS.Color))
self.icon.Backdrop:SetBackdropBorderColor(unpack(AS.Color))
else
self:SetBackdropBorderColor(unpack(AS.BorderColor))
self.icon.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
end
end)
end
hooksecurefunc('GroupFinderFrame_SelectGroupButton', function()
for i = 1, 3 do
local Button = GroupFinderFrame["groupButton"..i]
if GroupFinderFrame.selectionIndex == Button:GetID() then
Button:SetBackdropBorderColor(unpack(AS.Color))
Button.icon.Backdrop:SetBackdropBorderColor(unpack(AS.Color))
else
Button:SetBackdropBorderColor(unpack(AS.BorderColor))
Button.icon.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor))
end
end
end)
AS:StripTextures(LFDParentFrame)
AS:StripTextures(LFDQueueFrame, true)
AS:SkinFrame(LFDQueueFrame.PartyBackfill)
AS:SkinFrame(LFDQueueFrameNoLFDWhileLFR)
AS:SkinButton(LFDQueueFrameNoLFDWhileLFRLeaveQueueButton)
AS:SkinButton(LFDQueueFramePartyBackfillBackfillButton)
AS:SkinButton(LFDQueueFramePartyBackfillNoBackfillButton)
AS:SkinButton(LFDQueueFrameFindGroupButton, true)
LFDQueueFrameFindGroupButton:SetPoint('BOTTOM', 0, 2)
AS:StripTextures(LFDQueueFrameSpecificListScrollFrame)
AS:SkinScrollBar(LFDQueueFrameSpecificListScrollFrame.ScrollBar)
hooksecurefunc("LFGRewardsFrame_SetItemButton", function(parentFrame, dungeonID, index, id, name, texture, numItems, rewardType, rewardID, quality, shortageIndex, showTankIcon, showHealerIcon, showDamageIcon)
local parentName = parentFrame:GetName()
local Button = _G[parentName.."Item"..index]
if Button and not Button.Backdrop then
Button.NameFrame:SetTexture()
Button.shortageBorder:SetTexture()
Button.IconBorder:SetAlpha(0)
AS:SkinTexture(Button.Icon, true)
AS:CreateBackdrop(Button)
Button.Backdrop:SetPoint('TOPLEFT', Button.Icon, 'TOPRIGHT', 1, 0)
Button.Backdrop:SetPoint('BOTTOMLEFT', Button.Icon, 'BOTTOMRIGHT', 1, 0)
Button.Backdrop:SetPoint('RIGHT', Button, 'RIGHT', -5, 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:SetBackdropBorderColor(unpack(AS.BorderColor)) end)
end
end)
AS:SkinScrollBar(LFDQueueFrameRandomScrollFrame.ScrollBar)
hooksecurefunc('LFGDungeonReadyDialog_UpdateRewards', function()
for i = 1, LFG_ROLE_NUM_SHORTAGE_TYPES do
local Button = LFGDungeonReadyDialogRewardsFrame.Rewards[i]
if Button then
AS:SkinTexture(Button.texture, true)
Button:DisableDrawLayer('OVERLAY')
end
end
end)
AS:SkinDropDownBox(LFDQueueFrameTypeDropDown)
LFDQueueFrameTypeDropDown:SetPoint('BOTTOMLEFT', LFDQueueFrame, 'BOTTOMLEFT', 85, 285)
for i = 1, NUM_LFD_CHOICE_BUTTONS do
AS:SkinCheckBox(_G["LFDQueueFrameSpecificListButton"..i].enableButton)
end
AS:StripTextures(RaidFinderFrame)
--RaidFinderFrameBottomInsetBg:Hide()
--RaidFinderFrameBtnCornerRight:Hide()
--RaidFinderFrameButtonBottomBorder:Hide()
AS:SkinDropDownBox(RaidFinderQueueFrameSelectionDropDown)
RaidFinderQueueFrameSelectionDropDown:SetPoint('BOTTOMLEFT', RaidFinderFrame, 'BOTTOMLEFT', 85, 285)
AS:StripTextures(RaidFinderFrameFindRaidButton)
AS:SkinButton(RaidFinderFrameFindRaidButton)
AS:StripTextures(RaidFinderQueueFrame)
RaidFinderQueueFrameBackground:SetAlpha(0)
AS:SkinButton(RaidFinderQueueFramePartyBackfillBackfillButton)
AS:SkinButton(RaidFinderQueueFramePartyBackfillNoBackfillButton)
hooksecurefunc('LFGRewardsFrame_UpdateFrame', function(parentFrame, dungeonID, background)
if ( not dungeonID ) then
return
end
parentFrame.MoneyReward.NameFrame:SetTexture()
AS:SkinTexture(parentFrame.MoneyReward.Icon, true)
AS:CreateBackdrop(parentFrame.MoneyReward)
parentFrame.MoneyReward.Backdrop:SetPoint('TOPLEFT', parentFrame.MoneyReward.Icon, 'TOPRIGHT', 1, 0)
parentFrame.MoneyReward.Backdrop:SetPoint('BOTTOMLEFT', parentFrame.MoneyReward.Icon, 'BOTTOMRIGHT', 1, 0)
parentFrame.MoneyReward.Backdrop:SetPoint('RIGHT', parentFrame.MoneyReward, 'RIGHT', -5, 0)
--parentFrame.bonusRepFrame
end)
for _, Button in pairs({ 'LFDQueueFrameRoleButton', 'RaidFinderQueueFrameRoleButton' }) do
for _, Role in pairs({ 'Tank', 'Healer', 'DPS', 'Leader' }) do
AS:SkinCheckBox(_G[Button..Role].checkButton)
_G[Button..Role].checkButton:SetFrameLevel(_G[Button..Role].checkButton:GetFrameLevel() + 1)
end
end
AS:StripTextures(LFGListFrame.CategorySelection.Inset)
AS:SkinButton(LFGListFrame.CategorySelection.StartGroupButton, true)
AS:SkinButton(LFGListFrame.CategorySelection.FindGroupButton, true)
hooksecurefunc("LFGListCategorySelection_AddButton", function(self, btnIndex, categoryID, filters)
local Button = self.CategoryButtons[btnIndex]
if (Button) then
if not Button.Backdrop then
AS:SkinTexture(Button.Icon, true)
Button.Cover:Hide()
Button.HighlightTexture:SetColorTexture(1, 1, 1, 0.1)
Button.HighlightTexture:SetAllPoints(Button.Icon)
Button.Label:SetFontObject(GameFontNormal)
Button.SelectedTexture:SetAlpha(0)
end
local selected = self.selectedCategory == categoryID and self.selectedFilters == filters
Button.Icon.Backdrop:SetBackdropBorderColor(unpack(selected and AS.Color or AS.BorderColor))
end
end)
local roleButtons = {
LFDQueueFrameRoleButtonHealer,
LFDQueueFrameRoleButtonDPS,
LFDQueueFrameRoleButtonLeader,
LFDQueueFrameRoleButtonTank,
RaidFinderQueueFrameRoleButtonHealer,
RaidFinderQueueFrameRoleButtonDPS,
RaidFinderQueueFrameRoleButtonLeader,
RaidFinderQueueFrameRoleButtonTank,
LFGInvitePopupRoleButtonTank,
LFGInvitePopupRoleButtonHealer,
LFGInvitePopupRoleButtonDPS,
LFGListApplicationDialog.TankButton,
LFGListApplicationDialog.HealerButton,
LFGListApplicationDialog.DamagerButton,
}
-- /run LFGInvitePopup_Update("Elvz", true, true, true) StaticPopupSpecial_Show(LFGInvitePopup)
for _, roleButton in pairs(roleButtons) do
AS:SkinCheckBox(roleButton.checkButton or roleButton.CheckButton)
end
hooksecurefunc('LFGListSearchPanel_UpdateResults', function(self)
for _, Button in pairs(self.ScrollFrame.buttons) do
if not Button.Backdrop then
AS:CreateBackdrop(Button)
AS:SetInside(Button.Backdrop, Button, 6, 1)
Button.ResultBG:SetAlpha(0)
Button.Highlight:SetColorTexture(1, 1, 1, 0.1)
Button.Highlight:SetAllPoints(Button.Backdrop)
Button.Selected:SetAlpha(0)
hooksecurefunc(Button.Selected, 'SetShown', function(self, value) Button.Backdrop:SetBackdropBorderColor(unpack(value == true and AS.Color or AS.BorderColor)) end)
end
end
end)
AS:StripTextures(LFGListFrame.ApplicationViewer, true)
AS:SkinScrollBar(LFGListFrame.ApplicationViewer.ScrollFrame.scrollBar)
AS:SkinButton(LFGListFrame.ApplicationViewer.RemoveEntryButton, true)
AS:SkinButton(LFGListFrame.ApplicationViewer.EditButton, true)
AS:SkinFrame(LFGListFrame.ApplicationViewer.NameColumnHeader)
AS:SkinFrame(LFGListFrame.ApplicationViewer.RoleColumnHeader)
AS:SkinFrame(LFGListFrame.ApplicationViewer.ItemLevelColumnHeader)
AS:SkinButton(LFGListFrame.ApplicationViewer.RefreshButton)
AS:StripTextures(LFGListFrame.EntryCreation.Inset)
AS:SkinButton(LFGListFrame.EntryCreation.CancelButton)
AS:SkinButton(LFGListFrame.EntryCreation.ListGroupButton)
-- LFGListFrame.EntryCreation.CancelButton:SetPoint("BOTTOMLEFT", -1, 3)
-- LFGListFrame.EntryCreation.ListGroupButton:SetPoint("BOTTOMRIGHT", -6, 3)
AS:SkinEditBox(LFGListFrame.EntryCreation.Description)
AS:SkinEditBox(LFGListFrame.EntryCreation.Name)
AS:SkinEditBox(LFGListFrame.EntryCreation.ItemLevel.EditBox)
AS:SkinEditBox(LFGListFrame.EntryCreation.HonorLevel.EditBox)
AS:SkinEditBox(LFGListFrame.EntryCreation.VoiceChat.EditBox)
AS:SkinDropDownBox(LFGListFrame.EntryCreation.ActivityDropDown)
AS:SkinDropDownBox(LFGListFrame.EntryCreation.GroupDropDown)
AS:SkinDropDownBox(LFGListFrame.EntryCreation.CategoryDropDown, 330)
AS:SkinCheckBox(LFGListFrame.EntryCreation.ItemLevel.CheckButton)
AS:SkinCheckBox(LFGListFrame.EntryCreation.HonorLevel.CheckButton)
AS:SkinCheckBox(LFGListFrame.EntryCreation.VoiceChat.CheckButton)
AS:SkinCheckBox(LFGListFrame.EntryCreation.PrivateGroup.CheckButton)
AS:SkinFrame(LFGListFrame.EntryCreation.ActivityFinder.Dialog)
AS:SkinFrame(LFGListFrame.EntryCreation.ActivityFinder.Dialog.BorderFrame)
AS:SkinEditBox(LFGListFrame.EntryCreation.ActivityFinder.Dialog.EntryBox)
AS:SkinScrollBar(LFGListFrame.EntryCreation.ActivityFinder.Dialog.ScrollFrame.scrollBar)
AS:SkinButton(LFGListFrame.EntryCreation.ActivityFinder.Dialog.SelectButton)
AS:SkinButton(LFGListFrame.EntryCreation.ActivityFinder.Dialog.CancelButton)
AS:StripTextures(LFGListFrame.SearchPanel.ResultsInset)
AS:SkinButton(LFGListFrame.SearchPanel.BackButton, true)
AS:SkinButton(LFGListFrame.SearchPanel.SignUpButton, true)
AS:SkinEditBox(LFGListFrame.SearchPanel.SearchBox)
AS:SkinScrollBar(LFGListFrame.SearchPanel.ScrollFrame.scrollBar)
AS:StripTextures(LFGDungeonReadyPopup)
AS:SkinFrame(LFGDungeonReadyDialog, nil, nil, true)
AS:SkinCloseButton(LFGDungeonReadyDialogCloseButton)
AS:CreateShadow(LFGDungeonReadyDialog)
LFGDungeonReadyDialog.SetBackdrop = AS.Noop
AS:SkinButton(LFGDungeonReadyDialog.leaveButton)
AS:SkinButton(LFGDungeonReadyDialog.enterButton)
AS:SkinFrame(LFGDungeonReadyStatus)
AS:SkinCloseButton(LFGDungeonReadyStatusCloseButton)
AS:SkinFrame(LFGListApplicationDialog)
AS:SkinButton(LFGListApplicationDialog.SignUpButton)
AS:SkinButton(LFGListApplicationDialog.CancelButton)
AS:SkinEditBox(LFGListApplicationDialogDescription)
AS:SkinFrame(LFGInvitePopup)
AS:SkinButton(LFGInvitePopupAcceptButton)
AS:SkinButton(LFGInvitePopupDeclineButton)
hooksecurefunc("LFGListApplicationDialog_UpdateRoles", function(self) --Copy from Blizzard, we just fix position
local availTank, availHealer, availDPS = C_LFGList.GetAvailableRoles();
local avail1, avail2;
if ( availTank ) then
avail1 = self.TankButton;
end
if ( availHealer ) then
if ( avail1 ) then
avail2 = self.HealerButton;
else
avail1 = self.HealerButton;
end
end
if ( availDPS ) then
if ( avail1 ) then
avail2 = self.DamagerButton;
else
avail1 = self.DamagerButton;
end
end
if ( avail2 ) then
avail1:ClearAllPoints();
avail1:SetPoint("TOPRIGHT", self, "TOP", -40, -35);
avail2:ClearAllPoints();
avail2:SetPoint("TOPLEFT", self, "TOP", 40, -35);
elseif ( avail1 ) then
avail1:ClearAllPoints();
avail1:SetPoint("TOP", self, "TOP", 0, -35);
end
end)
AS:SetTemplate(LFGListInviteDialog)
AS:SkinButton(LFGListInviteDialog.AcknowledgeButton)
AS:SkinButton(LFGListInviteDialog.AcceptButton)
AS:SkinButton(LFGListInviteDialog.DeclineButton)
LFGListInviteDialog.RoleIcon:SetTexture("Interface\\LFGFrame\\UI-LFG-ICONS-ROLEBACKGROUNDS")
hooksecurefunc("LFGListInviteDialog_Show", function(self, resultID)
local _,_,_,_, role = C_LFGList.GetApplicationInfo(resultID)
self.RoleIcon:SetTexCoord(GetBackgroundTexCoordsForRole(role))
end)
AS:SkinEditBox(LFGListFrame.SearchPanel.SearchBox)
AS:SkinButton(LFGListFrame.SearchPanel.BackButton, true)
AS:SkinButton(LFGListFrame.SearchPanel.SignUpButton, true)
AS:SkinButton(LFGListSearchPanelScrollFrameScrollChild.StartGroupButton, true)
LFGListFrame.SearchPanel.BackButton:ClearAllPoints()
LFGListFrame.SearchPanel.BackButton:SetPoint("BOTTOMLEFT", -1, 3)
LFGListFrame.SearchPanel.SignUpButton:ClearAllPoints()
LFGListFrame.SearchPanel.SignUpButton:SetPoint("BOTTOMRIGHT", -6, 3)
AS:StripTextures(LFGListFrame.SearchPanel.ResultsInset)
AS:SkinScrollBar(LFGListSearchPanelScrollFrameScrollBar)
AS:SkinButton(LFGListFrame.SearchPanel.FilterButton)
LFGListFrame.SearchPanel.FilterButton:SetPoint("LEFT", LFGListFrame.SearchPanel.SearchBox, "RIGHT", 5, 0)
AS:SkinButton(LFGListFrame.SearchPanel.RefreshButton)
LFGListFrame.SearchPanel.RefreshButton:SetSize(24, 24)
LFGListFrame.SearchPanel.RefreshButton.Icon:SetPoint("CENTER")
hooksecurefunc("LFGListApplicationViewer_UpdateApplicant", function(button)
if not button.DeclineButton.template then
AS:SkinButton(button.DeclineButton, nil, true)
end
if not button.InviteButton.template then
AS:SkinButton(button.InviteButton)
end
end)
hooksecurefunc("LFGListSearchEntry_Update", function(button)
if not button.CancelButton.template then
AS:SkinButton(button.CancelButton, nil, true)
end
end)
hooksecurefunc("LFGListSearchPanel_UpdateAutoComplete", function(self)
for i = 1, LFGListFrame.SearchPanel.AutoCompleteFrame:GetNumChildren() do
local child = select(i, LFGListFrame.SearchPanel.AutoCompleteFrame:GetChildren())
if child and not child.isSkinned and child:GetObjectType() == "Button" then
AS:SkinButton(child)
child.isSkinned = true
end
end
local text = self.SearchBox:GetText()
local matchingActivities = C_LFGList.GetAvailableActivities(self.categoryID, nil, self.filters, text)
local numResults = min(#matchingActivities, MAX_LFG_LIST_SEARCH_AUTOCOMPLETE_ENTRIES)
for i = 2, numResults do
local button = self.AutoCompleteFrame.Results[i]
if button and not button.moved then
button:SetPoint("TOPLEFT", self.AutoCompleteFrame.Results[i-1], "BOTTOMLEFT", 0, -2)
button:SetPoint("TOPRIGHT", self.AutoCompleteFrame.Results[i-1], "BOTTOMRIGHT", 0, -2)
button.moved = true
end
end
self.AutoCompleteFrame:SetHeight(numResults * (self.AutoCompleteFrame.Results[1]:GetHeight() + 3.5) + 8)
end)
end
function AS:Blizzard_RaidUI(event, addon)
if event == 'PLAYER_ENTERING_WORLD' then
AS:SkinFrame(RaidInfoFrame)
AS:SkinScrollBar(RaidInfoScrollFrameScrollBar)
AS:SkinCloseButton(RaidInfoCloseButton)
AS:StripTextures(RaidInfoInstanceLabel)
AS:StripTextures(RaidInfoIDLabel)
AS:SkinButton(RaidFrameConvertToRaidButton)
AS:SkinButton(RaidFrameRaidInfoButton)
AS:SkinButton(RaidInfoExtendButton)
AS:SkinButton(RaidInfoCancelButton)
AS:SkinCheckBox(RaidFrameAllAssistCheckButton)
end
if addon ~= 'Blizzard_RaidUI' then return end
for i = 1, 8 do
AS:SkinFrame(_G["RaidGroup"..i])
for j = 1, 5 do
AS:StripTextures(_G["RaidGroup"..i.."Slot"..j])
end
end
for i = 1, 40 do
AS:SkinFrame(_G["RaidGroupButton"..i], 'Default')
end
AS:UnregisterSkinEvent(addon, event)
end
AS:RegisterSkin('Blizzard_AdventureMap', AS.Blizzard_AdventureMap, 'ADDON_LOADED')
AS:RegisterSkin("Blizzard_ChallengesUI", AS.Blizzard_ChallengesUI, 'ADDON_LOADED')
AS:RegisterSkin("Blizzard_PvE", AS.Blizzard_PvE)
AS:RegisterSkin("Blizzard_RaidUI", AS.Blizzard_RaidUI, 'ADDON_LOADED')