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.
291 lines
10 KiB
291 lines
10 KiB
local AS = unpack(AddOnSkins)
|
|
|
|
function AS:Blizzard_EncounterJournal(event, addon)
|
|
if addon ~= 'Blizzard_EncounterJournal' then return end
|
|
|
|
AS:SkinBackdropFrame(EncounterJournal)
|
|
|
|
AS:SkinBackdropFrame(EncounterJournal.navBar, nil, nil, true)
|
|
EncounterJournal.navBar.Backdrop:SetPoint("TOPLEFT", -2, 0)
|
|
EncounterJournal.navBar.Backdrop:SetPoint("BOTTOMRIGHT")
|
|
|
|
AS:StripTextures(EncounterJournal.navBar.overlay, true)
|
|
AS:SkinButton(EncounterJournal.navBar.homeButton, true)
|
|
EncounterJournal.navBar.homeButton.xoffset = 1
|
|
|
|
AS:SkinEditBox(EncounterJournal.searchBox)
|
|
AS:SkinCloseButton(EncounterJournal.CloseButton)
|
|
|
|
AS:CreateBackdrop(EncounterJournal.encounter.info)
|
|
|
|
for _, Tab in pairs({ EncounterJournal.encounter.info.bossTab, EncounterJournal.encounter.info.lootTab, EncounterJournal.encounter.info.modelTab, EncounterJournal.encounter.info.overviewTab }) do
|
|
Tab:GetNormalTexture():SetTexture()
|
|
Tab:GetPushedTexture():SetTexture()
|
|
Tab:GetDisabledTexture():SetTexture()
|
|
Tab:GetHighlightTexture():SetTexture()
|
|
AS:SkinBackdropFrame(Tab, nil, true)
|
|
Tab.Backdrop:SetPoint('TOPLEFT', 11, -8)
|
|
Tab.Backdrop:SetPoint('BOTTOMRIGHT', -6, 8)
|
|
Tab:HookScript('OnEnter', function(self) self.Backdrop:SetBackdropBorderColor(unpack(AS.Color)) end)
|
|
Tab:HookScript('OnLeave', function(self) self.Backdrop:SetBackdropBorderColor(unpack(AS.BorderColor)) end)
|
|
end
|
|
|
|
EncounterJournal.encounter.info.overviewTab:SetPoint('TOPLEFT', EncounterJournal.encounter.info, 'TOPRIGHT', AS:AdjustForTheme(-2), -35)
|
|
EncounterJournal.encounter.info.overviewTab.SetPoint = AS.Noop
|
|
|
|
AS:StripTextures(EncounterJournal.instanceSelect)
|
|
AS:SkinFrame(EncounterJournal.suggestFrame)
|
|
AS:SkinFrame(EncounterJournal.instanceSelect.scroll)
|
|
|
|
AS:SkinScrollBar(EncounterJournal.instanceSelect.scroll.ScrollBar)
|
|
|
|
AS:SkinButton(EncounterJournal.instanceSelect.dungeonsTab, true)
|
|
AS:SkinButton(EncounterJournal.instanceSelect.raidsTab, true)
|
|
AS:SkinButton(EncounterJournal.instanceSelect.suggestTab, true)
|
|
AS:SkinButton(EncounterJournal.instanceSelect.LootJournalTab, true)
|
|
|
|
AS:SkinScrollBar(EncounterJournal.encounter.info.lootScroll.scrollBar)
|
|
AS:SkinScrollBar(EncounterJournal.encounter.info.detailsScroll.ScrollBar)
|
|
AS:SkinScrollBar(EncounterJournal.encounter.info.bossesScroll.ScrollBar)
|
|
AS:SkinScrollBar(EncounterJournal.encounter.instance.loreScroll.ScrollBar)
|
|
|
|
AS:StripTextures(EncounterJournal.encounter.info)
|
|
|
|
EncounterJournal.encounter.instance.loreScroll.child.lore:SetTextColor(1, 1, 1)
|
|
EncounterJournal.encounter.info.detailsScroll.child.description:SetTextColor(1, 1, 1)
|
|
EncounterJournal.encounter.info.overviewScroll.child.loreDescription:SetTextColor(1, 1, 1)
|
|
EncounterJournal.encounter.info.overviewScroll.child.header:Hide()
|
|
|
|
_G.EncounterJournalEncounterFrameInfoOverviewScrollFrameScrollChildTitle:SetFontObject("GameFontNormalLarge")
|
|
_G.EncounterJournalEncounterFrameInfoOverviewScrollFrameScrollChildTitle:SetTextColor(1, 1, 1)
|
|
|
|
EncounterJournal.instanceSelect.suggestTab:SetPoint('BOTTOMLEFT', '$parent', 'TOPLEFT', 25, -49)
|
|
EncounterJournal.encounter.info.overviewScroll.child.overviewDescription.Text:SetTextColor(1, 1, 1)
|
|
|
|
AS:SkinFrame(EncounterJournal.LootJournal)
|
|
|
|
EncounterJournal.instanceSelect.bg:SetAlpha(0)
|
|
|
|
AS:Delay(0, function() AS:SkinDropDownBox(EncounterJournalInstanceSelectTierDropDown) end) -- Apparently Spawned but not all elements until the frame is shown.
|
|
|
|
for i = 1, AJ_MAX_NUM_SUGGESTIONS do
|
|
local suggestion = EncounterJournal.suggestFrame["Suggestion"..i]
|
|
local centerDisplay = suggestion.centerDisplay
|
|
local reward = suggestion.reward
|
|
|
|
suggestion.bg:SetAlpha(0)
|
|
AS:CreateBackdrop(suggestion.bg)
|
|
|
|
AS:CreateBackdrop(suggestion.icon)
|
|
|
|
centerDisplay.title.text:SetTextColor(1, 1, 1)
|
|
centerDisplay.description.text:SetTextColor(.9, .9, .9)
|
|
|
|
AS:CreateBackdrop(reward.icon)
|
|
reward.iconRing:Hide()
|
|
reward.iconRingHighlight:SetTexture("")
|
|
|
|
if i == 1 then
|
|
reward.text:SetTextColor(.9, .9, .9)
|
|
|
|
suggestion.icon:SetPoint("TOPLEFT", 135, -15)
|
|
|
|
AS:SkinButton(suggestion.button)
|
|
AS:SkinArrowButton(suggestion.prevButton)
|
|
AS:SkinArrowButton(suggestion.nextButton)
|
|
else
|
|
reward:SetFrameLevel(suggestion:GetFrameLevel() + 3)
|
|
AS:SkinButton(suggestion.centerDisplay.button)
|
|
suggestion.bg:SetPoint('TOPLEFT', -16, 4)
|
|
end
|
|
end
|
|
|
|
AS:SkinButton(EncounterJournal.encounter.info.lootScroll.lootSlotFilter, true)
|
|
AS:SkinButton(EncounterJournal.encounter.info.lootScroll.filter, true)
|
|
AS:SkinButton(EncounterJournal.encounter.info.lootScroll.slotFilter, true)
|
|
AS:StripTextures(EncounterJournal.encounter.info.lootScroll.classClearFilter, true)
|
|
EncounterJournal.encounter.info.lootScroll.classClearFilter.text:SetTextColor(1, 1, 1)
|
|
AS:SkinButton(EncounterJournal.encounter.info.reset)
|
|
AS:SkinButton(EncounterJournal.encounter.info.difficulty, true)
|
|
|
|
for i, Button in pairs(EncounterJournal.encounter.info.lootScroll.buttons) do
|
|
Button.bossTexture:SetAlpha(0)
|
|
Button.bosslessTexture:SetAlpha(0)
|
|
|
|
Button.icon:SetSize(32, 32)
|
|
Button.icon:SetPoint("TOPLEFT", AS:AdjustForTheme(3), AS:AdjustForTheme(-7))
|
|
AS:SkinTexture(Button.icon, true)
|
|
|
|
Button.name:SetPoint("TOPLEFT", Button.icon, "TOPRIGHT", 6, -2)
|
|
Button.boss:SetTextColor(1, 1, 1)
|
|
Button.boss:SetPoint("BOTTOMLEFT", 4, 6)
|
|
Button.slot:SetPoint("TOPLEFT", Button.name, "BOTTOMLEFT", 0, -3)
|
|
Button.slot:SetTextColor(1, 1, 1)
|
|
Button.armorType:SetTextColor(1, 1, 1)
|
|
Button.armorType:SetPoint("RIGHT", Button, "RIGHT", -10, 0)
|
|
|
|
hooksecurefunc(Button.IconBorder, "SetVertexColor", function(self, r, g, b)
|
|
self:GetParent().icon.Backdrop:SetBackdropBorderColor(r, g, b)
|
|
self:SetTexture("")
|
|
end)
|
|
|
|
AS:CreateBackdrop(Button)
|
|
Button.Backdrop:SetPoint("TOPLEFT", 0, -4)
|
|
Button.Backdrop:SetPoint("BOTTOMRIGHT", 0, AS.PixelMode and 3 or 0)
|
|
|
|
if i == 1 then
|
|
Button:ClearAllPoints()
|
|
Button:SetPoint("TOPLEFT", EncounterJournal.encounter.info.lootScroll.scrollChild, "TOPLEFT", 5, 0)
|
|
end
|
|
end
|
|
|
|
AS:SkinTooltip(EncounterJournalTooltip)
|
|
|
|
hooksecurefunc('AdventureJournal_Reward_OnEnter', function(self)
|
|
local rewardData = self.data
|
|
if ( rewardData ) then
|
|
local frame = EncounterJournalTooltip
|
|
if ( rewardData.itemLink or rewardData.currencyType ) then
|
|
local _, _, quality = GetItemInfo(rewardData.itemLink)
|
|
AS:SkinTexture(frame.Item1.icon, true)
|
|
frame.Item1.icon.Backdrop:SetBackdropBorderColor(GetItemQualityColor(quality))
|
|
frame.Item1.IconBorder:SetAlpha(0)
|
|
frame.Item1.tooltip:SetBackdrop(nil)
|
|
end
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("EncounterJournal_ListInstances", function()
|
|
local instanceSelect = EncounterJournal.instanceSelect
|
|
local scrollFrame = instanceSelect.scroll.child
|
|
local index = 1
|
|
local Button = scrollFrame["instance"..index]
|
|
|
|
while Button do
|
|
AS:SkinButton(Button)
|
|
scrollFrame["instance"..index].bgImage:SetTexCoord(.08, .6, .08, .6)
|
|
scrollFrame["instance"..index].bgImage:SetDrawLayer('ARTWORK')
|
|
AS:SetInside(scrollFrame["instance"..index].bgImage)
|
|
index = index + 1
|
|
Button = scrollFrame["instance"..index]
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("EncounterJournal_DisplayInstance", function()
|
|
local bossIndex = 1
|
|
local bossButton = _G["EncounterJournalBossButton"..bossIndex]
|
|
|
|
while bossButton do
|
|
AS:SkinButton(bossButton)
|
|
bossButton.creature:ClearAllPoints()
|
|
bossButton.creature:SetPoint("TOPLEFT", 1, -4)
|
|
|
|
bossIndex = bossIndex + 1
|
|
bossButton = _G["EncounterJournalBossButton"..bossIndex]
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("EncounterJournal_SetUpOverview", function(self, _, index)
|
|
local header = self.overviews[index]
|
|
if not header.isSkinned then
|
|
|
|
header.descriptionBG:SetAlpha(0)
|
|
AS:CreateBackdrop(header.descriptionBG)
|
|
header.descriptionBG.Backdrop:SetAllPoints()
|
|
header.descriptionBGBottom:SetAlpha(0)
|
|
|
|
for i = 4, 18 do
|
|
select(i, header.button:GetRegions()):SetTexture("")
|
|
end
|
|
|
|
AS:SkinButton(header.button)
|
|
|
|
header.button.title:SetTextColor(unpack(AS.Color))
|
|
header.button.title.SetTextColor = AS.Noop
|
|
header.button.expandedIcon:SetTextColor(1, 1, 1)
|
|
header.button.expandedIcon.SetTextColor = AS.Noop
|
|
|
|
header.isSkinned = true
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("EncounterJournal_SetBullets", function(object)
|
|
local parent = object:GetParent()
|
|
|
|
if parent.Bullets then
|
|
for _, bullet in pairs(parent.Bullets) do
|
|
if not bullet.styled then
|
|
bullet.Text:SetTextColor(1, 1, 1)
|
|
bullet.styled = true
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("EncounterJournal_ToggleHeaders", function()
|
|
local index = 1
|
|
local header = _G["EncounterJournalInfoHeader"..index]
|
|
while header do
|
|
if not header.isSkinned then
|
|
header.flashAnim.Play = AS.Noop
|
|
|
|
header.descriptionBG:SetAlpha(0)
|
|
header.descriptionBGBottom:SetAlpha(0)
|
|
|
|
for i = 4, 18 do
|
|
select(i, header.button:GetRegions()):SetTexture("")
|
|
end
|
|
|
|
header.description:SetTextColor(1, 1, 1)
|
|
header.button.title:SetTextColor(unpack(AS.Color))
|
|
header.button.title.SetTextColor = AS.Noop
|
|
header.button.expandedIcon:SetTextColor(1, 1, 1)
|
|
header.button.expandedIcon.SetTextColor = AS.Noop
|
|
|
|
AS:SkinButton(header.button)
|
|
|
|
AS:SkinTexture(header.button.abilityIcon, true)
|
|
|
|
header.isSkinned = true
|
|
end
|
|
|
|
index = index + 1
|
|
header = _G["EncounterJournalInfoHeader"..index]
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("EJSuggestFrame_RefreshDisplay", function()
|
|
for i = 1, 3 do
|
|
local Suggestion = EncounterJournal.suggestFrame['Suggestion'..i]
|
|
local Data = EncounterJournal.suggestFrame.suggestions[i]
|
|
if Suggestion and Data then
|
|
Suggestion.iconRing:Hide()
|
|
Suggestion.icon:SetMask("")
|
|
Suggestion.icon:SetTexture(Data.iconPath or QUESTION_MARK_ICON)
|
|
AS:SkinTexture(Suggestion.icon)
|
|
end
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("EJSuggestFrame_UpdateRewards", function(suggestion)
|
|
local rewardData = suggestion.reward.data
|
|
if rewardData then
|
|
local texture = rewardData.itemIcon or rewardData.currencyIcon or [[Interface\Icons\achievement_guildperk_mobilebanking]]
|
|
suggestion.reward.icon:SetMask("")
|
|
suggestion.reward.icon:SetTexture(texture)
|
|
AS:SkinTexture(suggestion.reward.icon)
|
|
local r, g, b = unpack(AS.BorderColor)
|
|
if rewardData.itemID then
|
|
local quality = select(3, GetItemInfo(rewardData.itemID))
|
|
if quality and quality > 1 then
|
|
r, g, b = GetItemQualityColor(quality)
|
|
end
|
|
end
|
|
suggestion.reward.icon.Backdrop:SetBackdropBorderColor(r, g, b)
|
|
end
|
|
end)
|
|
|
|
AS:UnregisterSkinEvent(addon, event)
|
|
end
|
|
|
|
AS:RegisterSkin("Blizzard_EncounterJournal", AS.Blizzard_EncounterJournal, 'ADDON_LOADED')
|
|
|