540 lines
18 KiB
Lua
540 lines
18 KiB
Lua
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 ipairs = ipairs
|
|
local unpack = unpack
|
|
--WoW API / Variables
|
|
local hooksecurefunc = hooksecurefunc
|
|
local GetAchievementNumCriteria = GetAchievementNumCriteria
|
|
local GetAchievementCriteriaInfo = GetAchievementCriteriaInfo
|
|
local CRITERIA_TYPE_ACHIEVEMENT = CRITERIA_TYPE_ACHIEVEMENT
|
|
|
|
local function skinAchievement(achievement, biggerIcon)
|
|
if achievement.isSkinned then return end
|
|
|
|
_G[achievement:GetName().."Background"]:Kill()
|
|
achievement:StripTextures()
|
|
achievement:SetTemplate("Default", true)
|
|
achievement.icon:SetTemplate()
|
|
achievement.icon:SetSize(biggerIcon and 54 or 36, biggerIcon and 54 or 36)
|
|
achievement.icon:ClearAllPoints()
|
|
achievement.icon:Point("TOPLEFT", 8, -8)
|
|
achievement.icon.bling:Kill()
|
|
achievement.icon.frame:Kill()
|
|
achievement.icon.texture:SetTexCoord(unpack(E.TexCoords))
|
|
achievement.icon.texture:SetInside()
|
|
|
|
if achievement.highlight then
|
|
achievement.highlight:StripTextures()
|
|
achievement:HookScript("OnEnter", S.SetModifiedBackdrop)
|
|
achievement:HookScript("OnLeave", S.SetOriginalBackdrop)
|
|
end
|
|
|
|
if achievement.label then
|
|
achievement.label:SetTextColor(1, 1, 1)
|
|
end
|
|
|
|
if achievement.description then
|
|
achievement.description:SetTextColor(.6, .6, .6)
|
|
achievement.description.SetTextColor = E.noop
|
|
end
|
|
|
|
if achievement.hiddenDescription then
|
|
achievement.hiddenDescription:SetTextColor(1, 1, 1)
|
|
end
|
|
|
|
if achievement.tracked then
|
|
S:HandleCheckBox(achievement.tracked, true)
|
|
achievement.tracked:Size(14, 14)
|
|
achievement.tracked:ClearAllPoints()
|
|
achievement.tracked:Point("TOPLEFT", achievement.icon, "BOTTOMLEFT", 0, -2)
|
|
end
|
|
|
|
hooksecurefunc(achievement, "Saturate", function(self)
|
|
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
|
end)
|
|
hooksecurefunc(achievement, "Desaturate", function(self)
|
|
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
|
end)
|
|
|
|
achievement.isSkinned = true
|
|
end
|
|
|
|
S:AddCallback("Skin_AchievementUI_HybridScrollButton", function()
|
|
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.achievement then return end
|
|
|
|
hooksecurefunc("HybridScrollFrame_CreateButtons", function(frame, template)
|
|
if template == "AchievementCategoryTemplate" then
|
|
for _, button in ipairs(frame.buttons) do
|
|
if not button.isSkinned then
|
|
button:StripTextures(true)
|
|
button:StyleButton()
|
|
button.isSkinned = true
|
|
end
|
|
end
|
|
elseif template == "AchievementTemplate" then
|
|
for _, achievement in ipairs(frame.buttons) do
|
|
skinAchievement(achievement, true)
|
|
end
|
|
elseif template == "ComparisonTemplate" then
|
|
for _, achievement in ipairs(frame.buttons) do
|
|
skinAchievement(achievement.player)
|
|
skinAchievement(achievement.friend)
|
|
end
|
|
elseif template == "StatTemplate" then
|
|
for _, stats in ipairs(frame.buttons) do
|
|
if not stats.isSkinned then
|
|
-- stats:StripTextures(true)
|
|
stats:StyleButton()
|
|
stats.isSkinned = true
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
end)
|
|
|
|
S:AddCallbackForAddon("Blizzard_AchievementUI", "Skin_Blizzard_AchievementUI", function()
|
|
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.achievement then return end
|
|
|
|
local frames = {
|
|
"AchievementFrame",
|
|
-- "AchievementFrameCategories",
|
|
"AchievementFrameSummary",
|
|
"AchievementFrameSummaryCategoriesHeader",
|
|
"AchievementFrameSummaryAchievementsHeader",
|
|
"AchievementFrameStatsBG",
|
|
"AchievementFrameAchievements",
|
|
"AchievementFrameComparison",
|
|
"AchievementFrameComparisonHeader",
|
|
"AchievementFrameComparisonSummaryPlayer",
|
|
"AchievementFrameComparisonSummaryFriend"
|
|
}
|
|
|
|
for _, frame in ipairs(frames) do
|
|
_G[frame]:StripTextures(true)
|
|
end
|
|
|
|
local nonameFrames = {
|
|
"AchievementFrameStats",
|
|
"AchievementFrameSummary",
|
|
"AchievementFrameAchievements",
|
|
"AchievementFrameComparison"
|
|
}
|
|
|
|
for _, frame in ipairs(nonameFrames) do
|
|
frame = _G[frame]
|
|
for i = 1, frame:GetNumChildren() do
|
|
local child = select(i, frame:GetChildren())
|
|
if child and not child:GetName() then
|
|
child:SetBackdrop(nil)
|
|
end
|
|
end
|
|
end
|
|
|
|
local function updatePanelInfo(self)
|
|
if self == AchievementFrameComparison then
|
|
if AchievementFrame.isComparison then
|
|
AchievementFrame:Width(863)
|
|
else
|
|
AchievementFrame:Width(737)
|
|
end
|
|
end
|
|
|
|
S:SetUIPanelWindowInfo(AchievementFrame, "xoffset", 11, nil, true)
|
|
S:SetUIPanelWindowInfo(AchievementFrame, "yoffset", -12, nil, true)
|
|
S:SetUIPanelWindowInfo(AchievementFrame, "width", nil, -11)
|
|
end
|
|
|
|
AchievementFrame:HookScript("OnShow", updatePanelInfo)
|
|
AchievementFrameComparison:HookScript("OnShow", updatePanelInfo)
|
|
AchievementFrameComparison:HookScript("OnHide", updatePanelInfo)
|
|
|
|
S:HandleCloseButton(AchievementFrameCloseButton, AchievementFrame.backdrop)
|
|
|
|
S:HandleDropDownBox(AchievementFrameFilterDropDown)
|
|
|
|
S:HandleScrollBar(AchievementFrameCategoriesContainerScrollBar)
|
|
S:HandleScrollBar(AchievementFrameAchievementsContainerScrollBar)
|
|
S:HandleScrollBar(AchievementFrameStatsContainerScrollBar)
|
|
S:HandleScrollBar(AchievementFrameComparisonContainerScrollBar)
|
|
S:HandleScrollBar(AchievementFrameComparisonStatsContainerScrollBar)
|
|
|
|
AchievementFrameHeaderTitle:SetParent(AchievementFrame)
|
|
AchievementFrameHeaderTitle:ClearAllPoints()
|
|
AchievementFrameHeaderTitle:Point("TOPLEFT", AchievementFrame, "TOPLEFT", -29, -9)
|
|
|
|
AchievementFrameHeaderPoints:SetParent(AchievementFrame)
|
|
AchievementFrameHeaderPoints:ClearAllPoints()
|
|
AchievementFrameHeaderPoints:Point("LEFT", AchievementFrameHeaderTitle, "RIGHT", 2, 0)
|
|
|
|
AchievementFrameHeaderShield:SetParent(AchievementFrame)
|
|
|
|
AchievementFrameHeader:Hide()
|
|
AchievementFrameHeader.Show = E.noop
|
|
|
|
AchievementFrame:Size(737, 485)
|
|
AchievementFrame:SetTemplate("Transparent")
|
|
|
|
AchievementFrameFilterDropDown:Point("TOPRIGHT", AchievementFrame, "TOPRIGHT", -21, -5)
|
|
|
|
AchievementFrameCategories:SetTemplate("Default")
|
|
AchievementFrameCategories:Point("TOPLEFT", 8, -35)
|
|
AchievementFrameCategories:Point("BOTTOMLEFT", 21, 8)
|
|
|
|
AchievementFrameCategoriesContainerScrollBar:Point("TOPLEFT", AchievementFrameCategoriesContainer, "TOPRIGHT", 3, -14)
|
|
AchievementFrameCategoriesContainerScrollBar:Point("BOTTOMLEFT", AchievementFrameCategoriesContainer, "BOTTOMRIGHT", 3, 14)
|
|
|
|
AchievementFrameSummaryAchievements:Point("TOPLEFT", 5, -10)
|
|
AchievementFrameSummaryAchievements:Point("TOPRIGHT", -5, -30)
|
|
|
|
AchievementFrameAchievements:SetTemplate("Transparent")
|
|
|
|
AchievementFrameAchievementsContainer:Point("TOPLEFT", 2, -2)
|
|
AchievementFrameAchievementsContainer:Point("BOTTOMRIGHT", -2, 4)
|
|
|
|
AchievementFrameAchievementsContainerScrollBar:Point("TOPLEFT", AchievementFrameAchievementsContainer, "TOPRIGHT", 5, -17)
|
|
AchievementFrameAchievementsContainerScrollBar:Point("BOTTOMLEFT", AchievementFrameAchievementsContainer, "BOTTOMRIGHT", 5, 15)
|
|
|
|
AchievementFrameStats:SetTemplate("Transparent")
|
|
|
|
AchievementFrameStatsContainerScrollBar:Point("TOPLEFT", AchievementFrameStatsContainer, "TOPRIGHT", 3, -16)
|
|
AchievementFrameStatsContainerScrollBar:Point("BOTTOMLEFT", AchievementFrameStatsContainer, "BOTTOMRIGHT", 3, 14)
|
|
|
|
AchievementFrameComparison:SetTemplate("Transparent")
|
|
|
|
AchievementFrameComparisonHeader:Point("BOTTOMRIGHT", AchievementFrameComparison, "TOPRIGHT", 50, -1)
|
|
|
|
AchievementFrameComparison:Point("TOPLEFT", AchievementFrameCategories, "TOPRIGHT", 3, 0)
|
|
|
|
AchievementFrameComparisonSummary:Height(30)
|
|
AchievementFrameComparisonSummary:Point("TOPLEFT", 4, -2)
|
|
|
|
AchievementFrameComparisonContainer:Point("TOPLEFT", AchievementFrameComparisonSummary, "BOTTOMLEFT", 0, -3)
|
|
|
|
AchievementFrameComparisonContainerScrollBar:Point("TOPLEFT", AchievementFrameComparisonSummary, "TOPRIGHT", 9, -17)
|
|
AchievementFrameComparisonContainerScrollBar:Point("BOTTOMLEFT", AchievementFrameComparisonContainer, "BOTTOMRIGHT", 9, 14)
|
|
|
|
AchievementFrameComparisonStatsContainer:Point("TOPLEFT", 5, -3)
|
|
|
|
AchievementFrameComparisonStatsContainerScrollBar:Point("TOPLEFT", AchievementFrameComparisonStatsContainer, "TOPRIGHT", 3, -16)
|
|
AchievementFrameComparisonStatsContainerScrollBar:Point("BOTTOMLEFT", AchievementFrameComparisonStatsContainer, "BOTTOMRIGHT", 3, 14)
|
|
|
|
AchievementFrameAchievementsContainerScrollBar.Show = function(self)
|
|
AchievementFrameAchievements:SetWidth(500)
|
|
for _, button in ipairs(AchievementFrameAchievements.buttons) do
|
|
button:SetWidth(496)
|
|
end
|
|
getmetatable(self).__index.Show(self)
|
|
end
|
|
|
|
AchievementFrameAchievementsContainerScrollBar.Hide = function(self)
|
|
AchievementFrameAchievements:SetWidth(521)
|
|
for _, button in ipairs(AchievementFrameAchievements.buttons) do
|
|
button:SetWidth(517)
|
|
end
|
|
getmetatable(self).__index.Hide(self)
|
|
end
|
|
|
|
AchievementFrameStatsContainerScrollBar.Show = function(self)
|
|
AchievementFrameStats:SetWidth(500)
|
|
for _, button in ipairs(AchievementFrameStats.buttons) do
|
|
button:SetWidth(494)
|
|
end
|
|
getmetatable(self).__index.Show(self)
|
|
end
|
|
|
|
AchievementFrameStatsContainerScrollBar.Hide = function(self)
|
|
AchievementFrameStats:SetWidth(521)
|
|
for _, button in ipairs(AchievementFrameStats.buttons) do
|
|
button:SetWidth(515)
|
|
end
|
|
getmetatable(self).__index.Hide(self)
|
|
end
|
|
|
|
--[[
|
|
AchievementFrameComparisonContainerScrollBar.Show = function(self)
|
|
AchievementFrameComparison:SetWidth(626)
|
|
AchievementFrameComparisonSummaryPlayer:SetWidth(498)
|
|
for _, button in ipairs(AchievementFrameComparisonContainer.buttons) do
|
|
button:SetWidth(616)
|
|
button.player:SetWidth(498)
|
|
end
|
|
getmetatable(self).__index.Show(self)
|
|
end
|
|
]]
|
|
|
|
AchievementFrameComparisonContainerScrollBar.Hide = function(self)
|
|
AchievementFrameComparison:SetWidth(647)
|
|
AchievementFrameComparisonSummaryPlayer:SetWidth(519)
|
|
for _, button in ipairs(AchievementFrameComparisonContainer.buttons) do
|
|
button:SetWidth(637)
|
|
button.player:SetWidth(519)
|
|
end
|
|
getmetatable(self).__index.Hide(self)
|
|
end
|
|
|
|
--[[
|
|
AchievementFrameComparisonStatsContainerScrollBar.Show = function(self)
|
|
AchievementFrameComparison:SetWidth(626)
|
|
for _, button in ipairs(AchievementFrameComparisonStatsContainer.buttons) do
|
|
button:SetWidth(616)
|
|
end
|
|
getmetatable(self).__index.Show(self)
|
|
end
|
|
]]
|
|
|
|
AchievementFrameComparisonStatsContainerScrollBar.Hide = function(self)
|
|
AchievementFrameComparison:SetWidth(647)
|
|
for _, button in ipairs(AchievementFrameComparisonStatsContainer.buttons) do
|
|
button:SetWidth(637)
|
|
end
|
|
getmetatable(self).__index.Hide(self)
|
|
end
|
|
|
|
local function categoriesContainerScripts()
|
|
AchievementFrameCategoriesContainerScrollBar.Show = function(self)
|
|
ACHIEVEMENTUI_CATEGORIESWIDTH = 176
|
|
|
|
AchievementFrameCategories:SetWidth(176)
|
|
AchievementFrameCategoriesContainer:GetScrollChild():SetWidth(176)
|
|
|
|
AchievementFrameAchievements:SetPoint("TOPLEFT", "$parentCategories", "TOPRIGHT", 24, 0)
|
|
AchievementFrameStats:SetPoint("TOPLEFT", "$parentCategories", "TOPRIGHT", 24, 0)
|
|
AchievementFrameComparison:SetPoint("TOPLEFT", "$parentCategories", "TOPRIGHT", 24, 0)
|
|
|
|
for _, button in ipairs(AchievementFrameCategoriesContainer.buttons) do
|
|
AchievementFrameCategories_DisplayButton(button, button.element)
|
|
end
|
|
getmetatable(self).__index.Show(self)
|
|
end
|
|
|
|
AchievementFrameCategoriesContainerScrollBar.Hide = function(self)
|
|
ACHIEVEMENTUI_CATEGORIESWIDTH = 197
|
|
|
|
AchievementFrameCategories:SetWidth(197)
|
|
AchievementFrameCategoriesContainer:GetScrollChild():SetWidth(197)
|
|
|
|
AchievementFrameAchievements:SetPoint("TOPLEFT", "$parentCategories", "TOPRIGHT", 3, 0)
|
|
AchievementFrameStats:SetPoint("TOPLEFT", "$parentCategories", "TOPRIGHT", 3, 0)
|
|
AchievementFrameComparison:SetPoint("TOPLEFT", "$parentCategories", "TOPRIGHT", 3, 0)
|
|
|
|
for _, button in ipairs(AchievementFrameCategoriesContainer.buttons) do
|
|
AchievementFrameCategories_DisplayButton(button, button.element)
|
|
end
|
|
getmetatable(self).__index.Hide(self)
|
|
end
|
|
end
|
|
|
|
if AchievementFrameCategoriesContainer.update then
|
|
categoriesContainerScripts()
|
|
else
|
|
AchievementFrameCategories:HookScript("OnEvent", categoriesContainerScripts)
|
|
end
|
|
|
|
for i = 1, 2 do
|
|
local tab = _G["AchievementFrameTab"..i]
|
|
S:HandleTab(tab)
|
|
tab.text:SetPoint("CENTER", 0, 2)
|
|
tab.text.SetPoint = E.noop
|
|
end
|
|
|
|
AchievementFrameTab1:Point("BOTTOMLEFT", AchievementFrame, "BOTTOMLEFT", 0, -30)
|
|
AchievementFrameTab2:Point("LEFT", AchievementFrameTab1, "RIGHT", -15, 0)
|
|
|
|
local sbcR, sbcG, sbcB = 4/255, 179/255, 30/255
|
|
|
|
local function skinStatusBar(bar)
|
|
bar:StripTextures()
|
|
bar:SetStatusBarTexture(E.media.normTex)
|
|
bar:SetStatusBarColor(sbcR, sbcG, sbcB)
|
|
bar:CreateBackdrop("Default")
|
|
E:RegisterStatusBar(bar)
|
|
|
|
local barName = bar:GetName()
|
|
local title = _G[barName.."Title"]
|
|
local label = _G[barName.."Label"]
|
|
local text = _G[barName.."Text"]
|
|
|
|
if title then
|
|
title:Point("LEFT", 4, 0)
|
|
end
|
|
|
|
if label then
|
|
label:Point("LEFT", 4, 0)
|
|
end
|
|
|
|
if text then
|
|
text:Point("RIGHT", -4, 0)
|
|
end
|
|
end
|
|
|
|
skinStatusBar(AchievementFrameSummaryCategoriesStatusBar)
|
|
skinStatusBar(AchievementFrameComparisonSummaryPlayerStatusBar)
|
|
skinStatusBar(AchievementFrameComparisonSummaryFriendStatusBar)
|
|
AchievementFrameComparisonSummaryFriendStatusBar.text:ClearAllPoints()
|
|
AchievementFrameComparisonSummaryFriendStatusBar.text:Point("CENTER")
|
|
|
|
for i = 1, 8 do
|
|
local frame = _G["AchievementFrameSummaryCategoriesCategory"..i]
|
|
local button = _G["AchievementFrameSummaryCategoriesCategory"..i.."Button"]
|
|
local highlight = _G["AchievementFrameSummaryCategoriesCategory"..i.."ButtonHighlight"]
|
|
local middle = _G["AchievementFrameSummaryCategoriesCategory"..i.."ButtonHighlightMiddle"]
|
|
|
|
skinStatusBar(frame)
|
|
button:StripTextures()
|
|
highlight:StripTextures()
|
|
|
|
middle:SetTexture(1, 1, 1, 0.3)
|
|
middle:SetAllPoints(frame)
|
|
end
|
|
|
|
for i = 1, 20 do
|
|
_G["AchievementFrameStatsContainerButton"..i]:StyleButton()
|
|
_G["AchievementFrameStatsContainerButton"..i.."BG"]:SetTexture(1, 1, 1, 0.2)
|
|
_G["AchievementFrameStatsContainerButton"..i.."HeaderLeft"]:Kill()
|
|
_G["AchievementFrameStatsContainerButton"..i.."HeaderRight"]:Kill()
|
|
_G["AchievementFrameStatsContainerButton"..i.."HeaderMiddle"]:Kill()
|
|
|
|
local frame = _G["AchievementFrameComparisonStatsContainerButton"..i]
|
|
frame:StripTextures()
|
|
frame:StyleButton()
|
|
_G["AchievementFrameComparisonStatsContainerButton"..i.."BG"]:SetTexture(1, 1, 1, 0.2)
|
|
_G["AchievementFrameComparisonStatsContainerButton"..i.."HeaderLeft"]:Kill()
|
|
_G["AchievementFrameComparisonStatsContainerButton"..i.."HeaderRight"]:Kill()
|
|
_G["AchievementFrameComparisonStatsContainerButton"..i.."HeaderMiddle"]:Kill()
|
|
end
|
|
|
|
hooksecurefunc("AchievementFrameSummary_UpdateAchievements", function()
|
|
local frame, prevFrame
|
|
|
|
for i = 1, ACHIEVEMENTUI_MAX_SUMMARY_ACHIEVEMENTS do
|
|
frame = _G["AchievementFrameSummaryAchievement"..i]
|
|
|
|
skinAchievement(frame)
|
|
|
|
if i ~= 1 then
|
|
prevFrame = _G["AchievementFrameSummaryAchievement"..(i-1)]
|
|
frame:ClearAllPoints()
|
|
frame:Point("TOPLEFT", prevFrame, "BOTTOMLEFT", 0, -1)
|
|
frame:Point("TOPRIGHT", prevFrame, "BOTTOMRIGHT", 0, 1)
|
|
end
|
|
|
|
frame:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("AchievementButton_GetProgressBar", function(index)
|
|
local frame = _G["AchievementFrameProgressBar"..index]
|
|
|
|
if frame and not frame.skinned then
|
|
frame:StripTextures()
|
|
frame:SetStatusBarTexture(E.media.normTex)
|
|
E:RegisterStatusBar(frame)
|
|
frame:SetStatusBarColor(sbcR, sbcG, sbcB)
|
|
frame:GetStatusBarTexture():SetInside()
|
|
frame:Height(frame:GetHeight() + (E.Border + E.Spacing))
|
|
frame:SetTemplate("Default")
|
|
|
|
frame.text:ClearAllPoints()
|
|
frame.text:Point("CENTER", frame, "CENTER", 0, -1)
|
|
frame.text:SetJustifyH("CENTER")
|
|
|
|
if index > 1 then
|
|
frame:ClearAllPoints()
|
|
frame:Point("TOP", _G["AchievementFrameProgressBar"..index-1], "BOTTOM", 0, -5)
|
|
frame.SetPoint = E.noop
|
|
frame.ClearAllPoints = E.noop
|
|
end
|
|
|
|
frame.skinned = true
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("AchievementObjectives_DisplayCriteria", function(objectivesFrame, id)
|
|
local numCriteria = GetAchievementNumCriteria(id)
|
|
local textStrings, metas = 0, 0
|
|
|
|
for i = 1, numCriteria do
|
|
local _, criteriaType, completed, _, _, _, _, assetID = GetAchievementCriteriaInfo(id, i)
|
|
|
|
if criteriaType == CRITERIA_TYPE_ACHIEVEMENT and assetID then
|
|
metas = metas + 1
|
|
local metaCriteria = AchievementButton_GetMeta(metas)
|
|
|
|
metaCriteria:Height(21)
|
|
metaCriteria:StyleButton()
|
|
metaCriteria.border:Kill()
|
|
metaCriteria.icon:SetTexCoord(unpack(E.TexCoords))
|
|
metaCriteria.icon:Point("TOPLEFT", 2, -2)
|
|
metaCriteria.label:Point("LEFT", 26, 0)
|
|
|
|
if objectivesFrame.completed and completed then
|
|
metaCriteria.label:SetShadowOffset(0, 0)
|
|
metaCriteria.label:SetTextColor(1, 1, 1, 1)
|
|
elseif completed then
|
|
metaCriteria.label:SetShadowOffset(1, -1)
|
|
metaCriteria.label:SetTextColor(0, 1, 0, 1)
|
|
else
|
|
metaCriteria.label:SetShadowOffset(1, -1)
|
|
metaCriteria.label:SetTextColor(.6, .6, .6, 1)
|
|
end
|
|
elseif criteriaType ~= 1 then
|
|
textStrings = textStrings + 1
|
|
local criteria = AchievementButton_GetCriteria(textStrings)
|
|
|
|
if objectivesFrame.completed and completed then
|
|
criteria.name:SetTextColor(1, 1, 1, 1)
|
|
criteria.name:SetShadowOffset(0, 0)
|
|
elseif completed then
|
|
criteria.name:SetTextColor(0, 1, 0, 1)
|
|
criteria.name:SetShadowOffset(1, -1)
|
|
else
|
|
criteria.name:SetTextColor(.6, .6, .6, 1)
|
|
criteria.name:SetShadowOffset(1, -1)
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc("AchievementObjectives_DisplayProgressiveAchievement", function(objectivesFrame, id)
|
|
local mini
|
|
|
|
for i = 1, 12 do
|
|
mini = _G["AchievementFrameMiniAchievement"..i]
|
|
|
|
if mini and not mini.isSkinned then
|
|
local icon = _G["AchievementFrameMiniAchievement"..i.."Icon"]
|
|
local points = _G["AchievementFrameMiniAchievement"..i.."Points"]
|
|
local border = _G["AchievementFrameMiniAchievement"..i.."Border"]
|
|
local shield = _G["AchievementFrameMiniAchievement"..i.."Shield"]
|
|
|
|
mini:SetTemplate()
|
|
mini:SetBackdropColor(0, 0, 0, 0)
|
|
mini:Size(32)
|
|
|
|
local prevFrame = _G["AchievementFrameMiniAchievement"..i - 1]
|
|
if i == 1 then
|
|
mini:Point("TOPLEFT", 6, -4)
|
|
elseif i == 7 then
|
|
mini:Point("TOPLEFT", AchievementFrameMiniAchievement1, "BOTTOMLEFT", 0, -20)
|
|
else
|
|
mini:Point("TOPLEFT", prevFrame, "TOPRIGHT", 10, 0)
|
|
end
|
|
mini.SetPoint = E.noop
|
|
|
|
icon:SetTexCoord(unpack(E.TexCoords))
|
|
icon:SetInside()
|
|
|
|
points:Point("BOTTOMRIGHT", -8, -15)
|
|
points:SetTextColor(1, 0.80, 0.10)
|
|
|
|
border:Kill()
|
|
shield:Kill()
|
|
|
|
mini.isSkinned = true
|
|
end
|
|
end
|
|
end)
|
|
end) |