66 lines
2.2 KiB
Lua
66 lines
2.2 KiB
Lua
NanamiPlates_Target = {}
|
|
|
|
local NP = NanamiPlates
|
|
local Settings = NP.Settings
|
|
|
|
local function ApplyArrowTint(ind)
|
|
if not ind or not ind.tex then return end
|
|
local tint = Settings.targetArrowTint or 0
|
|
if tint <= 0 then
|
|
ind.tex:SetVertexColor(1, 1, 1, 1)
|
|
else
|
|
local acR, acG, acB = NP.GetThemeColor("accent", 1.0, 0.5, 0.8, 1)
|
|
local r = 1 + (acR - 1) * tint
|
|
local g = 1 + (acG - 1) * tint
|
|
local b = 1 + (acB - 1) * tint
|
|
ind.tex:SetVertexColor(r, g, b, 1)
|
|
end
|
|
end
|
|
|
|
function NanamiPlates_Target.UpdateTarget(nameplate, isTarget)
|
|
if not nameplate then return end
|
|
|
|
local indL = nameplate.targetArrowL
|
|
local indR = nameplate.targetArrowR
|
|
if not indL or not indR then return end
|
|
|
|
if isTarget and Settings.showTargetGlow then
|
|
local acR, acG, acB = NP.GetThemeColor("accent", 1.0, 0.5, 0.8, 0.9)
|
|
ApplyArrowTint(indL)
|
|
ApplyArrowTint(indR)
|
|
indL:Show()
|
|
indR:Show()
|
|
-- Highlight healthBG border for target
|
|
if nameplate.healthBG then
|
|
nameplate.healthBG:SetBackdropBorderColor(acR, acG, acB, 1)
|
|
end
|
|
-- Show additive glow overlay (color/alpha synced in UpdateNamePlate)
|
|
if nameplate.targetGlow then
|
|
if not nameplate.targetGlow:IsShown() then
|
|
local barR, barG, barB = nameplate.health:GetStatusBarColor()
|
|
local lum = 0.299 * barR + 0.587 * barG + 0.114 * barB
|
|
local glowAlpha = 0.75
|
|
if lum > 0.5 then
|
|
glowAlpha = 0.75 * math.max(0.15, (1.0 - lum) * 2)
|
|
end
|
|
nameplate.targetGlow:SetStatusBarColor(barR, barG, barB, 1)
|
|
nameplate.targetGlow:SetAlpha(glowAlpha)
|
|
end
|
|
nameplate.targetGlow:Show()
|
|
end
|
|
else
|
|
indL:Hide()
|
|
indR:Hide()
|
|
-- Restore default border for non-target
|
|
if nameplate.healthBG then
|
|
local brR, brG, brB, brA = NP.GetThemeColor("panelBorder", 0.55, 0.30, 0.42, 0.9)
|
|
nameplate.healthBG:SetBackdropBorderColor(brR, brG, brB, brA)
|
|
end
|
|
if nameplate.targetGlow then
|
|
nameplate.targetGlow:Hide()
|
|
end
|
|
end
|
|
end
|
|
|
|
NanamiPlates.Target = NanamiPlates_Target
|