270 lines
9.1 KiB
Lua
270 lines
9.1 KiB
Lua
|
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||
|
local S = E:GetModule('Skins')
|
||
|
|
||
|
local _G = _G
|
||
|
local ipairs, pairs, select, unpack = ipairs, pairs, select, unpack
|
||
|
|
||
|
local CreateFrame = CreateFrame
|
||
|
local CurrencyContainerUtil_GetCurrencyContainerInfo = CurrencyContainerUtil.GetCurrencyContainerInfo
|
||
|
local C_CurrencyInfo_GetCurrencyInfo = C_CurrencyInfo.GetCurrencyInfo
|
||
|
local GetItemInfo = GetItemInfo
|
||
|
local GetItemQualityColor = GetItemQualityColor
|
||
|
local hooksecurefunc = hooksecurefunc
|
||
|
local LE_ITEM_QUALITY_ARTIFACT = Enum.ItemQuality.Artifact
|
||
|
|
||
|
local function HandleRoleChecks(button, ...)
|
||
|
button:StripTextures()
|
||
|
button:DisableDrawLayer('ARTWORK')
|
||
|
button:DisableDrawLayer('OVERLAY')
|
||
|
|
||
|
button.bg = button:CreateTexture(nil, 'BACKGROUND', nil, -7)
|
||
|
button.bg:SetTexture([[Interface\LFGFrame\UI-LFG-ICONS-ROLEBACKGROUNDS]])
|
||
|
button.bg:SetTexCoord(...)
|
||
|
button.bg:Point('CENTER')
|
||
|
button.bg:Size(40, 40)
|
||
|
button.bg:SetAlpha(0.6)
|
||
|
S:HandleCheckBox(button.checkButton)
|
||
|
end
|
||
|
|
||
|
function S:Blizzard_PVPUI()
|
||
|
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.pvp) then return end
|
||
|
|
||
|
_G.PVPUIFrame:StripTextures()
|
||
|
|
||
|
for i = 1, 2 do
|
||
|
S:HandleTab(_G['PVPUIFrameTab'..i])
|
||
|
end
|
||
|
|
||
|
for i = 1, 3 do
|
||
|
local bu = _G['PVPQueueFrameCategoryButton'..i]
|
||
|
bu.Ring:Kill()
|
||
|
bu.Background:Kill()
|
||
|
S:HandleButton(bu)
|
||
|
|
||
|
bu.Icon:Size(45)
|
||
|
bu.Icon:ClearAllPoints()
|
||
|
bu.Icon:Point('LEFT', 10, 0)
|
||
|
S:HandleIcon(bu.Icon, true)
|
||
|
end
|
||
|
|
||
|
local PVPQueueFrame = _G.PVPQueueFrame
|
||
|
PVPQueueFrame.HonorInset:StripTextures()
|
||
|
|
||
|
PVPQueueFrame.CategoryButton1.Icon:SetTexture([[Interface\Icons\achievement_bg_winwsg]])
|
||
|
PVPQueueFrame.CategoryButton2.Icon:SetTexture([[Interface\Icons\achievement_bg_killxenemies_generalsroom]])
|
||
|
PVPQueueFrame.CategoryButton3.Icon:SetTexture([[Interface\Icons\Achievement_General_StayClassy]])
|
||
|
|
||
|
local SeasonReward = PVPQueueFrame.HonorInset.RatedPanel.SeasonRewardFrame
|
||
|
SeasonReward.CircleMask:Hide()
|
||
|
SeasonReward.Ring:Hide()
|
||
|
SeasonReward.Icon:SetTexCoord(unpack(E.TexCoords))
|
||
|
local RewardFrameBorder = CreateFrame('Frame', nil, SeasonReward, 'BackdropTemplate')
|
||
|
RewardFrameBorder:SetTemplate()
|
||
|
RewardFrameBorder:SetOutside(SeasonReward.Icon)
|
||
|
SeasonReward.Icon:SetParent(RewardFrameBorder)
|
||
|
SeasonReward.Icon:SetDrawLayer('OVERLAY')
|
||
|
|
||
|
-- Honor Frame
|
||
|
local HonorFrame = _G.HonorFrame
|
||
|
HonorFrame:StripTextures()
|
||
|
|
||
|
S:HandleScrollBar(_G.HonorFrameSpecificFrameScrollBar)
|
||
|
S:HandleDropDownBox(_G.HonorFrameTypeDropDown, 230)
|
||
|
S:HandleButton(_G.HonorFrameQueueButton)
|
||
|
|
||
|
local BonusFrame = HonorFrame.BonusFrame
|
||
|
BonusFrame:StripTextures()
|
||
|
BonusFrame.ShadowOverlay:Hide()
|
||
|
BonusFrame.WorldBattlesTexture:Hide()
|
||
|
|
||
|
for _, bonusButton in pairs({'RandomBGButton', 'Arena1Button', 'RandomEpicBGButton', 'BrawlButton', 'SpecialEventButton'}) do
|
||
|
local bu = BonusFrame[bonusButton]
|
||
|
local reward = bu.Reward
|
||
|
S:HandleButton(bu)
|
||
|
bu.SelectedTexture:SetInside()
|
||
|
bu.SelectedTexture:SetColorTexture(1, 1, 0, 0.1)
|
||
|
|
||
|
reward.Border:Hide()
|
||
|
reward.CircleMask:Hide()
|
||
|
S:HandleIcon(reward.Icon, true)
|
||
|
|
||
|
reward.EnlistmentBonus:StripTextures()
|
||
|
reward.EnlistmentBonus:CreateBackdrop()
|
||
|
reward.EnlistmentBonus:Size(20, 20)
|
||
|
reward.EnlistmentBonus:Point('TOPRIGHT', 2, 2)
|
||
|
|
||
|
local EnlistmentBonusIcon = reward.EnlistmentBonus:CreateTexture()
|
||
|
EnlistmentBonusIcon:Point('TOPLEFT', reward.EnlistmentBonus, 'TOPLEFT', 2, -2)
|
||
|
EnlistmentBonusIcon:Point('BOTTOMRIGHT', reward.EnlistmentBonus, 'BOTTOMRIGHT', -2, 2)
|
||
|
EnlistmentBonusIcon:SetTexture([[Interface\Icons\achievement_guildperk_honorablemention_rank2]])
|
||
|
EnlistmentBonusIcon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
|
||
|
end
|
||
|
|
||
|
-- Honor Frame Specific Buttons
|
||
|
for _, bu in pairs(HonorFrame.SpecificFrame.buttons) do
|
||
|
bu.Bg:Hide()
|
||
|
bu.Border:Hide()
|
||
|
|
||
|
bu:SetNormalTexture('')
|
||
|
bu:SetHighlightTexture('')
|
||
|
|
||
|
bu:StripTextures()
|
||
|
bu:CreateBackdrop()
|
||
|
bu.backdrop:Point('TOPLEFT', 2, 0)
|
||
|
bu.backdrop:Point('BOTTOMRIGHT', -1, 2)
|
||
|
bu:StyleButton(nil, true)
|
||
|
|
||
|
bu.SelectedTexture:SetInside(bu.backdrop)
|
||
|
bu.SelectedTexture:SetColorTexture(1, 1, 0, 0.1)
|
||
|
|
||
|
bu.Icon:SetTexCoord(unpack(E.TexCoords))
|
||
|
bu.Icon:Point('TOPLEFT', 5, -3)
|
||
|
end
|
||
|
|
||
|
hooksecurefunc('LFG_PermanentlyDisableRoleButton', function(s)
|
||
|
if s.bg then s.bg:SetDesaturated(true) end
|
||
|
end)
|
||
|
|
||
|
-- New tiny Role icons in Bfa
|
||
|
HandleRoleChecks(HonorFrame.TankIcon, _G.LFDQueueFrameRoleButtonTank.background:GetTexCoord())
|
||
|
HandleRoleChecks(HonorFrame.HealerIcon, _G.LFDQueueFrameRoleButtonHealer.background:GetTexCoord())
|
||
|
HandleRoleChecks(HonorFrame.DPSIcon, _G.LFDQueueFrameRoleButtonDPS.background:GetTexCoord())
|
||
|
|
||
|
-- Conquest Frame
|
||
|
local ConquestFrame = _G.ConquestFrame
|
||
|
ConquestFrame:StripTextures()
|
||
|
ConquestFrame.ShadowOverlay:Hide()
|
||
|
|
||
|
S:HandleButton(_G.ConquestJoinButton)
|
||
|
|
||
|
HandleRoleChecks(ConquestFrame.TankIcon, _G.LFDQueueFrameRoleButtonTank.background:GetTexCoord())
|
||
|
HandleRoleChecks(ConquestFrame.HealerIcon, _G.LFDQueueFrameRoleButtonHealer.background:GetTexCoord())
|
||
|
HandleRoleChecks(ConquestFrame.DPSIcon, _G.LFDQueueFrameRoleButtonDPS.background:GetTexCoord())
|
||
|
|
||
|
for _, bu in pairs({ConquestFrame.Arena2v2, ConquestFrame.Arena3v3, ConquestFrame.RatedBG}) do
|
||
|
local reward = bu.Reward
|
||
|
S:HandleButton(bu)
|
||
|
bu.SelectedTexture:SetInside()
|
||
|
bu.SelectedTexture:SetColorTexture(1, 1, 0, 0.1)
|
||
|
|
||
|
reward.Border:Hide()
|
||
|
reward.CircleMask:Hide()
|
||
|
S:HandleIcon(reward.Icon, true)
|
||
|
end
|
||
|
|
||
|
ConquestFrame.Arena3v3:Point('TOP', ConquestFrame.Arena2v2, 'BOTTOM', 0, -2)
|
||
|
|
||
|
-- Item Borders for HonorFrame & ConquestFrame
|
||
|
hooksecurefunc('PVPUIFrame_ConfigureRewardFrame', function(rewardFrame, _, _, itemRewards, currencyRewards)
|
||
|
local rewardTexture, rewardQuaility, _ = nil, 1
|
||
|
|
||
|
if currencyRewards then
|
||
|
for _, reward in ipairs(currencyRewards) do
|
||
|
local info = C_CurrencyInfo_GetCurrencyInfo(reward.id)
|
||
|
if info and info.quality == LE_ITEM_QUALITY_ARTIFACT then
|
||
|
_, rewardTexture, _, rewardQuaility = CurrencyContainerUtil_GetCurrencyContainerInfo(reward.id, reward.quantity, info.name, info.iconFileID, info.quality)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if not rewardTexture and itemRewards then
|
||
|
local reward = itemRewards[1]
|
||
|
if reward then
|
||
|
_, _, rewardQuaility, _, _, _, _, _, _, rewardTexture = GetItemInfo(reward.id)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if rewardTexture then
|
||
|
rewardFrame.Icon:SetTexture(rewardTexture)
|
||
|
rewardFrame.Icon.backdrop:SetBackdropBorderColor(GetItemQualityColor(rewardQuaility))
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
if E.private.skins.blizzard.tooltip then
|
||
|
_G.ConquestTooltip:SetTemplate('Transparent')
|
||
|
end
|
||
|
|
||
|
-- PvP StatusBars
|
||
|
for _, Frame in pairs({ HonorFrame, ConquestFrame }) do
|
||
|
Frame.ConquestBar.Border:Hide()
|
||
|
Frame.ConquestBar.Background:Hide()
|
||
|
Frame.ConquestBar.Reward.Ring:Hide()
|
||
|
Frame.ConquestBar.Reward.CircleMask:Hide()
|
||
|
|
||
|
if not Frame.ConquestBar.backdrop then
|
||
|
Frame.ConquestBar:CreateBackdrop()
|
||
|
Frame.ConquestBar.backdrop:SetOutside()
|
||
|
end
|
||
|
|
||
|
Frame.ConquestBar.Reward:Point('LEFT', Frame.ConquestBar, 'RIGHT', -8, 0)
|
||
|
Frame.ConquestBar:SetStatusBarTexture(E.media.normTex)
|
||
|
Frame.ConquestBar:SetStatusBarColor(unpack(E.myfaction == 'Alliance' and {0.05, 0.15, 0.36} or {0.63, 0.09, 0.09}))
|
||
|
|
||
|
S:HandleIcon(Frame.ConquestBar.Reward.Icon)
|
||
|
end
|
||
|
|
||
|
-- New Season Frame
|
||
|
local NewSeasonPopup = _G.PVPQueueFrame.NewSeasonPopup
|
||
|
S:HandleButton(NewSeasonPopup.Leave)
|
||
|
NewSeasonPopup:StripTextures()
|
||
|
NewSeasonPopup:CreateBackdrop('Overlay')
|
||
|
NewSeasonPopup:SetFrameLevel(5)
|
||
|
|
||
|
if NewSeasonPopup.NewSeason then
|
||
|
NewSeasonPopup.NewSeason:SetTextColor(1, .8, 0)
|
||
|
NewSeasonPopup.NewSeason:SetShadowOffset(1, -1)
|
||
|
end
|
||
|
|
||
|
if NewSeasonPopup.SeasonRewardText then
|
||
|
NewSeasonPopup.SeasonRewardText:SetTextColor(1, .8, 0)
|
||
|
NewSeasonPopup.SeasonRewardText:SetShadowOffset(1, -1)
|
||
|
end
|
||
|
|
||
|
if NewSeasonPopup.SeasonDescription then
|
||
|
NewSeasonPopup.SeasonDescription:SetTextColor(1, 1, 1)
|
||
|
NewSeasonPopup.SeasonDescription:SetShadowOffset(1, -1)
|
||
|
end
|
||
|
|
||
|
if NewSeasonPopup.SeasonDescription2 then
|
||
|
NewSeasonPopup.SeasonDescription2:SetTextColor(1, 1, 1)
|
||
|
NewSeasonPopup.SeasonDescription2:SetShadowOffset(1, -1)
|
||
|
end
|
||
|
|
||
|
local RewardFrame = NewSeasonPopup.SeasonRewardFrame
|
||
|
RewardFrame.CircleMask:Hide()
|
||
|
RewardFrame.Ring:Hide()
|
||
|
RewardFrame.Icon:SetTexCoord(unpack(E.TexCoords))
|
||
|
end
|
||
|
|
||
|
function S:PVPReadyDialog()
|
||
|
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.pvp) then return end
|
||
|
|
||
|
--PVP QUEUE FRAME
|
||
|
_G.PVPReadyDialog:StripTextures()
|
||
|
_G.PVPReadyDialog:CreateBackdrop('Transparent')
|
||
|
S:HandleButton(_G.PVPReadyDialogEnterBattleButton)
|
||
|
S:HandleButton(_G.PVPReadyDialogLeaveQueueButton)
|
||
|
S:HandleCloseButton(_G.PVPReadyDialogCloseButton)
|
||
|
_G.PVPReadyDialogRoleIcon.texture:SetTexture([[Interface\LFGFrame\UI-LFG-ICONS-ROLEBACKGROUNDS]])
|
||
|
_G.PVPReadyDialogRoleIcon.texture:SetAlpha(0.5)
|
||
|
|
||
|
hooksecurefunc('PVPReadyDialog_Display', function(s, _, _, _, queueType, _, role)
|
||
|
if role == 'DAMAGER' then
|
||
|
_G.PVPReadyDialogRoleIcon.texture:SetTexCoord(_G.LFDQueueFrameRoleButtonDPS.background:GetTexCoord())
|
||
|
elseif role == 'TANK' then
|
||
|
_G.PVPReadyDialogRoleIcon.texture:SetTexCoord(_G.LFDQueueFrameRoleButtonTank.background:GetTexCoord())
|
||
|
elseif role == 'HEALER' then
|
||
|
_G.PVPReadyDialogRoleIcon.texture:SetTexCoord(_G.LFDQueueFrameRoleButtonHealer.background:GetTexCoord())
|
||
|
end
|
||
|
|
||
|
if queueType == 'ARENA' then
|
||
|
s:Height(100)
|
||
|
end
|
||
|
|
||
|
s.background:Hide()
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
S:AddCallback('PVPReadyDialog')
|
||
|
S:AddCallbackForAddon('Blizzard_PVPUI')
|