Skip to content

Commit 3330573

Browse files
committed
Add hook to override player name color
1 parent 06201ab commit 3330573

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

lua/custom_chat/client/block_types.lua

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,7 @@ blocks["player"] = function( value, ctx )
455455
end
456456

457457
local color = ctx.color
458+
local gradientColors = nil
458459

459460
if IsValid( value.ply ) then
460461
if CustomChat.USE_TAGS then
@@ -466,10 +467,35 @@ blocks["player"] = function( value, ctx )
466467
local _, _, nameColor = value.ply:getChatTag()
467468
if nameColor then color = nameColor end
468469
end
470+
471+
local colorA, colorB = hook.Run( "OverrideCustomChatPlayerColor", value.ply )
472+
473+
if IsColor( colorA ) then
474+
if IsColor( colorB ) then
475+
gradientColors = { colorA, colorB }
476+
else
477+
color = colorA
478+
end
479+
end
480+
end
481+
482+
if gradientColors then
483+
local colorGlow = Color(
484+
( gradientColors[1].r + gradientColors[2].r ) * 0.5,
485+
( gradientColors[1].g + gradientColors[2].g ) * 0.5,
486+
( gradientColors[1].b + gradientColors[2].b ) * 0.5
487+
)
488+
489+
Append( lines, "elPlayer.className = 'gradient';" )
490+
Append( lines, "elPlayer.style.textShadow = '0px 0px 0.2em %s';", ColorToRGB( colorGlow ) )
491+
Append( lines, "elPlayer.style.backgroundImage = '-webkit-linear-gradient(left, %s, %s)';",
492+
ColorToRGB( gradientColors[1] ), ColorToRGB( gradientColors[2] ) )
469493
end
470494

471495
if color then
472-
Append( lines, "elPlayer.style.color = '%s';", ColorToRGB( color ) )
496+
if gradientColors == nil then
497+
Append( lines, "elPlayer.style.color = '%s';", ColorToRGB( color ) )
498+
end
473499

474500
if ctx.panel.displayAvatars then
475501
Append( lines, "elImg.style['border-color'] = '%s';", ColorToRGB( color ) )

0 commit comments

Comments
 (0)