diff --git a/src/client/graphics/layers/RailroadLayer.ts b/src/client/graphics/layers/RailroadLayer.ts index ee44db960..3a863a699 100644 --- a/src/client/graphics/layers/RailroadLayer.ts +++ b/src/client/graphics/layers/RailroadLayer.ts @@ -1,4 +1,4 @@ -import { Colord } from "colord"; +import { colord } from "colord"; import { Theme } from "../../../core/configuration/Config"; import { PlayerID } from "../../../core/game/Game"; import { TileRef } from "../../../core/game/GameMap"; @@ -184,7 +184,7 @@ export class RailroadLayer implements Layer { const recipient = owner.isPlayer() ? owner : null; const color = recipient ? recipient.borderColor() - : new Colord({ r: 255, g: 255, b: 255, a: 1 }); + : colord("rgba(255,255,255,1)"); this.context.fillStyle = color.toRgbString(); this.paintRailRects(this.context, x, y, railType); } diff --git a/src/client/graphics/layers/StructureDrawingUtils.ts b/src/client/graphics/layers/StructureDrawingUtils.ts index cc8dbfaa9..52b887cf9 100644 --- a/src/client/graphics/layers/StructureDrawingUtils.ts +++ b/src/client/graphics/layers/StructureDrawingUtils.ts @@ -256,6 +256,7 @@ export class SpriteFactory { const tc = owner.territoryColor(); const bc = owner.borderColor(); + // Potentially change logic here. Some TC/BC combinations do not provide good color contrast. const darker = bc.luminance() < tc.luminance() ? bc : tc; const lighter = bc.luminance() < tc.luminance() ? tc : bc; diff --git a/src/client/graphics/layers/StructureLayer.ts b/src/client/graphics/layers/StructureLayer.ts index bec07483e..f0c0d6c5e 100644 --- a/src/client/graphics/layers/StructureLayer.ts +++ b/src/client/graphics/layers/StructureLayer.ts @@ -15,7 +15,7 @@ import { euclDistFN, isometricDistFN } from "../../../core/game/GameMap"; import { GameUpdateType } from "../../../core/game/GameUpdates"; import { GameView, UnitView } from "../../../core/game/GameView"; -const underConstructionColor = colord({ r: 150, g: 150, b: 150 }); +const underConstructionColor = colord("rgb(150,150,150)"); // Base radius values and scaling factor for unit borders and territories const BASE_BORDER_RADIUS = 16.5; diff --git a/src/client/graphics/layers/TerritoryLayer.ts b/src/client/graphics/layers/TerritoryLayer.ts index c8ba09200..84a523ecf 100644 --- a/src/client/graphics/layers/TerritoryLayer.ts +++ b/src/client/graphics/layers/TerritoryLayer.ts @@ -6,6 +6,7 @@ import { Cell, ColoredTeams, PlayerType, + Team, UnitType, } from "../../../core/game/Game"; import { euclDistFN, TileRef } from "../../../core/game/GameMap"; @@ -197,15 +198,13 @@ export class TerritoryLayer implements Layer { // In Team games, the spawn highlight color becomes that player's team color // Optionally, this could be broken down to teammate or enemy and simplified to green and red, respectively const team = human.team(); - if (team !== null) { - if (teamColors.includes(team)) { - color = this.theme.teamColor(team); + if (team !== null && teamColors.includes(team)) { + color = this.theme.teamColor(team); + } else { + if (myPlayer.isFriendly(human)) { + color = this.theme.spawnHighlightTeamColor(); } else { - if (myPlayer.isFriendly(human)) { - color = this.theme.spawnHighlightTeamColor(); - } else { - color = this.theme.spawnHighlightColor(); - } + color = this.theme.spawnHighlightColor(); } } } @@ -239,13 +238,24 @@ export class TerritoryLayer implements Layer { const radius = minRad + (maxRad - minRad) * (0.5 + 0.5 * Math.sin(this.borderAnimTime)); + const baseColor = this.theme.spawnHighlightSelfColor(); //white + let teamColor: Colord | null = null; + + const team: Team | null = focusedPlayer.team(); + if (team !== null && Object.values(ColoredTeams).includes(team)) { + teamColor = this.theme.teamColor(team).alpha(0.5); + } else { + teamColor = baseColor; + } + this.drawBreathingRing( center.x, center.y, minRad, maxRad, radius, - this.theme.spawnHighlightSelfColor(), // Always draw breathing ring with self spawn highlight color + baseColor, // Always draw white static semi-transparent ring + teamColor, // Pass the breathing ring color. White for FFA, Duos, Trios, Quads. Transparent team color for TEAM games. ); } @@ -582,7 +592,8 @@ export class TerritoryLayer implements Layer { minRad: number, maxRad: number, radius: number, - color: Colord, + transparentColor: Colord, + breathingColor: Colord, ) { const ctx = this.highlightContext; if (!ctx) return; @@ -590,17 +601,16 @@ export class TerritoryLayer implements Layer { // Draw a semi-transparent ring around the starting location ctx.beginPath(); // Transparency matches the highlight color provided - const transparent = color.toHex() + "00"; - const c = color.toHex(); + const transparent = transparentColor.alpha(0); const radGrad = ctx.createRadialGradient(cx, cy, minRad, cx, cy, maxRad); // Pixels with radius < minRad are transparent - radGrad.addColorStop(0, transparent); + radGrad.addColorStop(0, transparent.toRgbString()); // The ring then starts with solid highlight color - radGrad.addColorStop(0.01, c); - radGrad.addColorStop(0.1, c); + radGrad.addColorStop(0.01, transparentColor.toRgbString()); + radGrad.addColorStop(0.1, transparentColor.toRgbString()); // The outer edge of the ring is transparent - radGrad.addColorStop(1, transparent); + radGrad.addColorStop(1, transparent.toRgbString()); // Draw an arc at the max radius and fill with the created radial gradient ctx.arc(cx, cy, maxRad, 0, Math.PI * 2); @@ -608,15 +618,16 @@ export class TerritoryLayer implements Layer { ctx.closePath(); ctx.fill(); + const breatheInner = breathingColor.alpha(0); // Draw a solid ring around the starting location with outer radius = the breathing radius ctx.beginPath(); const radGrad2 = ctx.createRadialGradient(cx, cy, minRad, cx, cy, radius); // Pixels with radius < minRad are transparent - radGrad2.addColorStop(0, transparent); + radGrad2.addColorStop(0, breatheInner.toRgbString()); // The ring then starts with solid highlight color - radGrad2.addColorStop(0.01, c); + radGrad2.addColorStop(0.01, breathingColor.toRgbString()); // The ring is solid throughout - radGrad2.addColorStop(1, c); + radGrad2.addColorStop(1, breathingColor.toRgbString()); // Draw an arc at the current breathing radius and fill with the created "gradient" ctx.arc(cx, cy, radius, 0, Math.PI * 2); diff --git a/src/client/graphics/layers/UnitLayer.ts b/src/client/graphics/layers/UnitLayer.ts index 4945969be..d0c5f8dd9 100644 --- a/src/client/graphics/layers/UnitLayer.ts +++ b/src/client/graphics/layers/UnitLayer.ts @@ -295,7 +295,7 @@ export class UnitLayer implements Layer { private handleWarShipEvent(unit: UnitView) { if (unit.targetUnitId()) { - this.drawSprite(unit, colord({ r: 200, b: 0, g: 0 })); + this.drawSprite(unit, colord("rgb(200,0,0)")); } else { this.drawSprite(unit); } diff --git a/src/core/configuration/ColorAllocator.ts b/src/core/configuration/ColorAllocator.ts index e62726bb0..b256354e8 100644 --- a/src/core/configuration/ColorAllocator.ts +++ b/src/core/configuration/ColorAllocator.ts @@ -1,4 +1,4 @@ -import { Colord, extend } from "colord"; +import { colord, Colord, extend } from "colord"; import labPlugin from "colord/plugins/lab"; import lchPlugin from "colord/plugins/lch"; import Color from "colorjs.io"; @@ -87,7 +87,11 @@ export class ColorAllocator { assignTeamColor(team: Team): Colord { const teamColors = this.getTeamColorVariations(team); - return teamColors[0]; + const rgb = teamColors[0].toRgb(); + rgb.r = Math.round(rgb.r); + rgb.g = Math.round(rgb.g); + rgb.b = Math.round(rgb.b); + return colord(rgb); } assignTeamPlayerColor(team: Team, playerId: string): Colord { diff --git a/src/core/configuration/Colors.ts b/src/core/configuration/Colors.ts index 2e913a6b6..7de52c3b0 100644 --- a/src/core/configuration/Colors.ts +++ b/src/core/configuration/Colors.ts @@ -5,14 +5,14 @@ import lchPlugin from "colord/plugins/lch"; extend([lchPlugin]); extend([labPlugin]); -export const red = colord({ h: 0, s: 82, l: 56 }); -export const blue = colord({ h: 224, s: 100, l: 58 }); -export const teal = colord({ h: 172, s: 66, l: 50 }); -export const purple = colord({ h: 271, s: 81, l: 56 }); -export const yellow = colord({ h: 45, s: 93, l: 47 }); -export const orange = colord({ h: 25, s: 95, l: 53 }); -export const green = colord({ h: 128, s: 49, l: 50 }); -export const botColor = colord({ h: 36, s: 10, l: 80 }); +export const red = colord("rgb(235,51,51)"); +export const blue = colord("rgb(41,98,255)"); +export const teal = colord("rgb(43,212,189)"); +export const purple = colord("rgb(146,52,234)"); +export const yellow = colord("rgb(231,176,8)"); +export const orange = colord("rgb(249,116,21)"); +export const green = colord("rgb(65,190,82)"); +export const botColor = colord("rgb(209,205,199)"); export const redTeamColors: Colord[] = generateTeamColors(red); export const blueTeamColors: Colord[] = generateTeamColors(blue); @@ -21,20 +21,20 @@ export const purpleTeamColors: Colord[] = generateTeamColors(purple); export const yellowTeamColors: Colord[] = generateTeamColors(yellow); export const orangeTeamColors: Colord[] = generateTeamColors(orange); export const greenTeamColors: Colord[] = generateTeamColors(green); -export const botTeamColors: Colord[] = [colord(botColor)]; +export const botTeamColors: Colord[] = [botColor]; function generateTeamColors(baseColor: Colord): Colord[] { - const { h: baseHue, s: baseSaturation, l: baseLightness } = baseColor.toHsl(); + const hsl = baseColor.toHsl(); const colorCount = 64; return Array.from({ length: colorCount }, (_, index) => { const progression = index / (colorCount - 1); - const saturation = baseSaturation * (1.0 - 0.3 * progression); - const lightness = Math.min(100, baseLightness + progression * 30); + const saturation = hsl.s * (1.0 - 0.3 * progression); + const lightness = Math.min(100, hsl.l + progression * 30); return colord({ - h: baseHue, + h: hsl.h, s: saturation, l: lightness, }); @@ -42,529 +42,529 @@ function generateTeamColors(baseColor: Colord): Colord[] { } export const nationColors: Colord[] = [ - colord({ r: 230, g: 100, b: 100 }), // Bright Red - colord({ r: 100, g: 180, b: 230 }), // Sky Blue - colord({ r: 230, g: 180, b: 80 }), // Golden Yellow - colord({ r: 180, g: 100, b: 230 }), // Purple - colord({ r: 80, g: 200, b: 120 }), // Emerald Green - colord({ r: 230, g: 130, b: 180 }), // Pink - colord({ r: 100, g: 160, b: 80 }), // Olive Green - colord({ r: 230, g: 150, b: 100 }), // Peach - colord({ r: 80, g: 130, b: 190 }), // Navy Blue - colord({ r: 210, g: 210, b: 100 }), // Lime Yellow - colord({ r: 190, g: 100, b: 130 }), // Maroon - colord({ r: 100, g: 210, b: 210 }), // Turquoise - colord({ r: 210, g: 140, b: 80 }), // Light Orange - colord({ r: 150, g: 110, b: 190 }), // Lavender - colord({ r: 180, g: 210, b: 120 }), // Light Green - colord({ r: 210, g: 100, b: 160 }), // Hot Pink - colord({ r: 100, g: 140, b: 110 }), // Sea Green - colord({ r: 230, g: 180, b: 180 }), // Light Pink - colord({ r: 120, g: 120, b: 190 }), // Periwinkle - colord({ r: 190, g: 170, b: 100 }), // Sand - colord({ r: 100, g: 180, b: 160 }), // Aquamarine - colord({ r: 210, g: 160, b: 200 }), // Orchid - colord({ r: 170, g: 190, b: 100 }), // Yellow Green - colord({ r: 100, g: 130, b: 150 }), // Steel Blue - colord({ r: 230, g: 140, b: 140 }), // Salmon - colord({ r: 140, g: 180, b: 220 }), // Light Blue - colord({ r: 200, g: 160, b: 110 }), // Tan - colord({ r: 180, g: 130, b: 180 }), // Plum - colord({ r: 130, g: 200, b: 130 }), // Light Sea Green - colord({ r: 220, g: 120, b: 120 }), // Coral - colord({ r: 120, g: 160, b: 200 }), // Cornflower Blue - colord({ r: 200, g: 200, b: 140 }), // Khaki - colord({ r: 160, g: 120, b: 160 }), // Purple Gray - colord({ r: 140, g: 180, b: 140 }), // Dark Sea Green - colord({ r: 200, g: 130, b: 110 }), // Dark Salmon - colord({ r: 130, g: 170, b: 190 }), // Cadet Blue - colord({ r: 190, g: 180, b: 160 }), // Tan Gray - colord({ r: 170, g: 140, b: 190 }), // Medium Purple - colord({ r: 160, g: 190, b: 160 }), // Pale Green - colord({ r: 190, g: 150, b: 130 }), // Rosy Brown - colord({ r: 140, g: 150, b: 180 }), // Light Slate Gray - colord({ r: 180, g: 170, b: 140 }), // Dark Khaki - colord({ r: 150, g: 130, b: 150 }), // Thistle - colord({ r: 170, g: 190, b: 180 }), // Pale Blue Green - colord({ r: 190, g: 140, b: 150 }), // Puce - colord({ r: 130, g: 180, b: 170 }), // Medium Aquamarine - colord({ r: 180, g: 160, b: 180 }), // Mauve - colord({ r: 160, g: 180, b: 140 }), // Dark Olive Green - colord({ r: 170, g: 150, b: 170 }), // Dusty Rose - colord({ r: 100, g: 180, b: 230 }), // Sky Blue - colord({ r: 230, g: 180, b: 80 }), // Golden Yellow - colord({ r: 180, g: 100, b: 230 }), // Purple - colord({ r: 80, g: 200, b: 120 }), // Emerald Green - colord({ r: 230, g: 130, b: 180 }), // Pink - colord({ r: 100, g: 160, b: 80 }), // Olive Green - colord({ r: 230, g: 150, b: 100 }), // Peach - colord({ r: 80, g: 130, b: 190 }), // Navy Blue - colord({ r: 210, g: 210, b: 100 }), // Lime Yellow - colord({ r: 190, g: 100, b: 130 }), // Maroon - colord({ r: 100, g: 210, b: 210 }), // Turquoise - colord({ r: 210, g: 140, b: 80 }), // Light Orange - colord({ r: 150, g: 110, b: 190 }), // Lavender - colord({ r: 180, g: 210, b: 120 }), // Light Green - colord({ r: 210, g: 100, b: 160 }), // Hot Pink - colord({ r: 100, g: 140, b: 110 }), // Sea Green - colord({ r: 230, g: 180, b: 180 }), // Light Pink - colord({ r: 120, g: 120, b: 190 }), // Periwinkle - colord({ r: 190, g: 170, b: 100 }), // Sand - colord({ r: 100, g: 180, b: 160 }), // Aquamarine - colord({ r: 210, g: 160, b: 200 }), // Orchid - colord({ r: 170, g: 190, b: 100 }), // Yellow Green - colord({ r: 100, g: 130, b: 150 }), // Steel Blue - colord({ r: 230, g: 140, b: 140 }), // Salmon - colord({ r: 140, g: 180, b: 220 }), // Light Blue - colord({ r: 200, g: 160, b: 110 }), // Tan - colord({ r: 180, g: 130, b: 180 }), // Plum - colord({ r: 130, g: 200, b: 130 }), // Light Sea Green - colord({ r: 220, g: 120, b: 120 }), // Coral - colord({ r: 120, g: 160, b: 200 }), // Cornflower Blue - colord({ r: 200, g: 200, b: 140 }), // Khaki - colord({ r: 160, g: 120, b: 160 }), // Purple Gray - colord({ r: 140, g: 180, b: 140 }), // Dark Sea Green - colord({ r: 200, g: 130, b: 110 }), // Dark Salmon - colord({ r: 130, g: 170, b: 190 }), // Cadet Blue - colord({ r: 190, g: 180, b: 160 }), // Tan Gray - colord({ r: 170, g: 140, b: 190 }), // Medium Purple - colord({ r: 160, g: 190, b: 160 }), // Pale Green - colord({ r: 190, g: 150, b: 130 }), // Rosy Brown - colord({ r: 140, g: 150, b: 180 }), // Light Slate Gray - colord({ r: 180, g: 170, b: 140 }), // Dark Khaki - colord({ r: 150, g: 130, b: 150 }), // Thistle - colord({ r: 170, g: 190, b: 180 }), // Pale Blue Green - colord({ r: 190, g: 140, b: 150 }), // Puce - colord({ r: 130, g: 180, b: 170 }), // Medium Aquamarine - colord({ r: 180, g: 160, b: 180 }), // Mauve - colord({ r: 160, g: 180, b: 140 }), // Dark Olive Green - colord({ r: 170, g: 150, b: 170 }), // Dusty Rose + colord("rgb(230,100,100)"), // Bright Red + colord("rgb(100,180,230)"), // Sky Blue + colord("rgb(230,180,80)"), // Golden Yellow + colord("rgb(180,100,230)"), // Purple + colord("rgb(80,200,120)"), // Emerald Green + colord("rgb(230,130,180)"), // Pink + colord("rgb(100,160,80)"), // Olive Green + colord("rgb(230,150,100)"), // Peach + colord("rgb(80,130,190)"), // Navy Blue + colord("rgb(210,210,100)"), // Lime Yellow + colord("rgb(190,100,130)"), // Maroon + colord("rgb(100,210,210)"), // Turquoise + colord("rgb(210,140,80)"), // Light Orange + colord("rgb(150,110,190)"), // Lavender + colord("rgb(180,210,120)"), // Light Green + colord("rgb(210,100,160)"), // Hot Pink + colord("rgb(100,140,110)"), // Sea Green + colord("rgb(230,180,180)"), // Light Pink + colord("rgb(120,120,190)"), // Periwinkle + colord("rgb(190,170,100)"), // Sand + colord("rgb(100,180,160)"), // Aquamarine + colord("rgb(210,160,200)"), // Orchid + colord("rgb(170,190,100)"), // Yellow Green + colord("rgb(100,130,150)"), // Steel Blue + colord("rgb(230,140,140)"), // Salmon + colord("rgb(140,180,220)"), // Light Blue + colord("rgb(200,160,110)"), // Tan + colord("rgb(180,130,180)"), // Plum + colord("rgb(130,200,130)"), // Light Sea Green + colord("rgb(220,120,120)"), // Coral + colord("rgb(120,160,200)"), // Cornflower Blue + colord("rgb(200,200,140)"), // Khaki + colord("rgb(160,120,160)"), // Purple Gray + colord("rgb(140,180,140)"), // Dark Sea Green + colord("rgb(200,130,110)"), // Dark Salmon + colord("rgb(130,170,190)"), // Cadet Blue + colord("rgb(190,180,160)"), // Tan Gray + colord("rgb(170,140,190)"), // Medium Purple + colord("rgb(160,190,160)"), // Pale Green + colord("rgb(190,150,130)"), // Rosy Brown + colord("rgb(140,150,180)"), // Light Slate Gray + colord("rgb(180,170,140)"), // Dark Khaki + colord("rgb(150,130,150)"), // Thistle + colord("rgb(170,190,180)"), // Pale Blue Green + colord("rgb(190,140,150)"), // Puce + colord("rgb(130,180,170)"), // Medium Aquamarine + colord("rgb(180,160,180)"), // Mauve + colord("rgb(160,180,140)"), // Dark Olive Green + colord("rgb(170,150,170)"), // Dusty Rose + colord("rgb(100,180,230)"), // Sky Blue + colord("rgb(230,180,80)"), // Golden Yellow + colord("rgb(180,100,230)"), // Purple + colord("rgb(80,200,120)"), // Emerald Green + colord("rgb(230,130,180)"), // Pink + colord("rgb(100,160,80)"), // Olive Green + colord("rgb(230,150,100)"), // Peach + colord("rgb(80,130,190)"), // Navy Blue + colord("rgb(210,210,100)"), // Lime Yellow + colord("rgb(190,100,130)"), // Maroon + colord("rgb(100,210,210)"), // Turquoise + colord("rgb(210,140,80)"), // Light Orange + colord("rgb(150,110,190)"), // Lavender + colord("rgb(180,210,120)"), // Light Green + colord("rgb(210,100,160)"), // Hot Pink + colord("rgb(100,140,110)"), // Sea Green + colord("rgb(230,180,180)"), // Light Pink + colord("rgb(120,120,190)"), // Periwinkle + colord("rgb(190,170,100)"), // Sand + colord("rgb(100,180,160)"), // Aquamarine + colord("rgb(210,160,200)"), // Orchid + colord("rgb(170,190,100)"), // Yellow Green + colord("rgb(100,130,150)"), // Steel Blue + colord("rgb(230,140,140)"), // Salmon + colord("rgb(140,180,220)"), // Light Blue + colord("rgb(200,160,110)"), // Tan + colord("rgb(180,130,180)"), // Plum + colord("rgb(130,200,130)"), // Light Sea Green + colord("rgb(220,120,120)"), // Coral + colord("rgb(120,160,200)"), // Cornflower Blue + colord("rgb(200,200,140)"), // Khaki + colord("rgb(160,120,160)"), // Purple Gray + colord("rgb(140,180,140)"), // Dark Sea Green + colord("rgb(200,130,110)"), // Dark Salmon + colord("rgb(130,170,190)"), // Cadet Blue + colord("rgb(190,180,160)"), // Tan Gray + colord("rgb(170,140,190)"), // Medium Purple + colord("rgb(160,190,160)"), // Pale Green + colord("rgb(190,150,130)"), // Rosy Brown + colord("rgb(140,150,180)"), // Light Slate Gray + colord("rgb(180,170,140)"), // Dark Khaki + colord("rgb(150,130,150)"), // Thistle + colord("rgb(170,190,180)"), // Pale Blue Green + colord("rgb(190,140,150)"), // Puce + colord("rgb(130,180,170)"), // Medium Aquamarine + colord("rgb(180,160,180)"), // Mauve + colord("rgb(160,180,140)"), // Dark Olive Green + colord("rgb(170,150,170)"), // Dusty Rose ]; // Bright pastel theme with 64 colors export const humanColors: Colord[] = [ - colord({ r: 16, g: 185, b: 129 }), // Sea Green - colord({ r: 34, g: 197, b: 94 }), // Emerald - colord({ r: 45, g: 212, b: 191 }), // Turquoise - colord({ r: 48, g: 178, b: 180 }), // Teal - colord({ r: 52, g: 211, b: 153 }), // Spearmint - colord({ r: 56, g: 189, b: 248 }), // Light Blue - colord({ r: 59, g: 130, b: 246 }), // Royal Blue - colord({ r: 67, g: 190, b: 84 }), // Fresh Green - colord({ r: 74, g: 222, b: 128 }), // Mint - colord({ r: 79, g: 70, b: 229 }), // Indigo - colord({ r: 82, g: 183, b: 136 }), // Jade - colord({ r: 96, g: 165, b: 250 }), // Sky Blue - colord({ r: 99, g: 202, b: 253 }), // Azure - colord({ r: 110, g: 231, b: 183 }), // Seafoam - colord({ r: 124, g: 58, b: 237 }), // Royal Purple - colord({ r: 125, g: 211, b: 252 }), // Crystal Blue - colord({ r: 132, g: 204, b: 22 }), // Lime - colord({ r: 133, g: 77, b: 14 }), // Chocolate - colord({ r: 134, g: 239, b: 172 }), // Light Green - colord({ r: 147, g: 51, b: 234 }), // Bright Purple - colord({ r: 147, g: 197, b: 253 }), // Powder Blue - colord({ r: 151, g: 255, b: 187 }), // Fresh Mint - colord({ r: 163, g: 230, b: 53 }), // Yellow Green - colord({ r: 167, g: 139, b: 250 }), // Periwinkle - colord({ r: 168, g: 85, b: 247 }), // Vibrant Purple - colord({ r: 179, g: 136, b: 255 }), // Light Purple - colord({ r: 186, g: 255, b: 201 }), // Pale Emerald - colord({ r: 190, g: 92, b: 251 }), // Amethyst - colord({ r: 192, g: 132, b: 252 }), // Lavender - colord({ r: 202, g: 138, b: 4 }), // Rich Gold - colord({ r: 202, g: 225, b: 255 }), // Baby Blue - colord({ r: 204, g: 204, b: 255 }), // Soft Lavender Blue - colord({ r: 217, g: 70, b: 239 }), // Fuchsia - colord({ r: 220, g: 38, b: 38 }), // Ruby - colord({ r: 220, g: 220, b: 255 }), // Meringue Blue - colord({ r: 220, g: 240, b: 250 }), // Ice Blue - colord({ r: 230, g: 250, b: 210 }), // Pastel Lime - colord({ r: 230, g: 255, b: 250 }), // Mint Whisper - colord({ r: 233, g: 213, b: 255 }), // Light Lilac - colord({ r: 234, g: 88, b: 12 }), // Burnt Orange - colord({ r: 234, g: 179, b: 8 }), // Sunflower - colord({ r: 235, g: 75, b: 75 }), // Bright Red - colord({ r: 236, g: 72, b: 153 }), // Deep Pink - colord({ r: 239, g: 68, b: 68 }), // Crimson - colord({ r: 240, g: 171, b: 252 }), // Orchid - colord({ r: 240, g: 240, b: 200 }), // Light Khaki - colord({ r: 244, g: 114, b: 182 }), // Rose - colord({ r: 245, g: 101, b: 101 }), // Coral - colord({ r: 245, g: 158, b: 11 }), // Amber - colord({ r: 248, g: 113, b: 113 }), // Warm Red - colord({ r: 249, g: 115, b: 22 }), // Tangerine - colord({ r: 250, g: 215, b: 225 }), // Cotton Candy - colord({ r: 250, g: 250, b: 210 }), // Pastel Lemon - colord({ r: 251, g: 113, b: 133 }), // Watermelon - colord({ r: 251, g: 146, b: 60 }), // Light Orange - colord({ r: 251, g: 191, b: 36 }), // Marigold - colord({ r: 251, g: 235, b: 245 }), // Rose Powder - colord({ r: 252, g: 165, b: 165 }), // Peach - colord({ r: 252, g: 211, b: 77 }), // Golden - colord({ r: 253, g: 164, b: 175 }), // Salmon Pink - colord({ r: 255, g: 204, b: 229 }), // Blush Pink - colord({ r: 255, g: 223, b: 186 }), // Apricot Cream - colord({ r: 255, g: 240, b: 200 }), // Vanilla + colord("rgb(16,185,129)"), // Sea Green + colord("rgb(34,197,94)"), // Emerald + colord("rgb(45,212,191)"), // Turquoise + colord("rgb(48,178,180)"), // Teal + colord("rgb(52,211,153)"), // Spearmint + colord("rgb(56,189,248)"), // Light Blue + colord("rgb(59,130,246)"), // Royal Blue + colord("rgb(67,190,84)"), // Fresh Green + colord("rgb(74,222,128)"), // Mint + colord("rgb(79,70,229)"), // Indigo + colord("rgb(82,183,136)"), // Jade + colord("rgb(96,165,250)"), // Sky Blue + colord("rgb(99,202,253)"), // Azure + colord("rgb(110,231,183)"), // Seafoam + colord("rgb(124,58,237)"), // Royal Purple + colord("rgb(125,211,252)"), // Crystal Blue + colord("rgb(132,204,22)"), // Lime + colord("rgb(133,77,14)"), // Chocolate + colord("rgb(134,239,172)"), // Light Green + colord("rgb(147,51,234)"), // Bright Purple + colord("rgb(147,197,253)"), // Powder Blue + colord("rgb(151,255,187)"), // Fresh Mint + colord("rgb(163,230,53)"), // Yellow Green + colord("rgb(167,139,250)"), // Periwinkle + colord("rgb(168,85,247)"), // Vibrant Purple + colord("rgb(179,136,255)"), // Light Purple + colord("rgb(186,255,201)"), // Pale Emerald + colord("rgb(190,92,251)"), // Amethyst + colord("rgb(192,132,252)"), // Lavender + colord("rgb(202,138,4)"), // Rich Gold + colord("rgb(202,225,255)"), // Baby Blue + colord("rgb(204,204,255)"), // Soft Lavender Blue + colord("rgb(217,70,239)"), // Fuchsia + colord("rgb(220,38,38)"), // Ruby + colord("rgb(220,220,255)"), // Meringue Blue + colord("rgb(220,240,250)"), // Ice Blue + colord("rgb(230,250,210)"), // Pastel Lime + colord("rgb(230,255,250)"), // Mint Whisper + colord("rgb(233,213,255)"), // Light Lilac + colord("rgb(234,88,12)"), // Burnt Orange + colord("rgb(234,179,8)"), // Sunflower + colord("rgb(235,75,75)"), // Bright Red + colord("rgb(236,72,153)"), // Deep Pink + colord("rgb(239,68,68)"), // Crimson + colord("rgb(240,171,252)"), // Orchid + colord("rgb(240,240,200)"), // Light Khaki + colord("rgb(244,114,182)"), // Rose + colord("rgb(245,101,101)"), // Coral + colord("rgb(245,158,11)"), // Amber + colord("rgb(248,113,113)"), // Warm Red + colord("rgb(249,115,22)"), // Tangerine + colord("rgb(250,215,225)"), // Cotton Candy + colord("rgb(250,250,210)"), // Pastel Lemon + colord("rgb(251,113,133)"), // Watermelon + colord("rgb(251,146,60)"), // Light Orange + colord("rgb(251,191,36)"), // Marigold + colord("rgb(251,235,245)"), // Rose Powder + colord("rgb(252,165,165)"), // Peach + colord("rgb(252,211,77)"), // Golden + colord("rgb(253,164,175)"), // Salmon Pink + colord("rgb(255,204,229)"), // Blush Pink + colord("rgb(255,223,186)"), // Apricot Cream + colord("rgb(255,240,200)"), // Vanilla ]; export const botColors: Colord[] = [ - colord({ r: 190, g: 120, b: 120 }), // Muted Red - colord({ r: 120, g: 160, b: 190 }), // Muted Sky Blue - colord({ r: 190, g: 160, b: 100 }), // Muted Golden Yellow - colord({ r: 160, g: 120, b: 190 }), // Muted Purple - colord({ r: 100, g: 170, b: 130 }), // Muted Emerald Green - colord({ r: 190, g: 130, b: 160 }), // Muted Pink - colord({ r: 120, g: 150, b: 100 }), // Muted Olive Green - colord({ r: 190, g: 140, b: 120 }), // Muted Peach - colord({ r: 100, g: 120, b: 160 }), // Muted Navy Blue - colord({ r: 170, g: 170, b: 120 }), // Muted Lime Yellow - colord({ r: 160, g: 120, b: 130 }), // Muted Maroon - colord({ r: 120, g: 170, b: 170 }), // Muted Turquoise - colord({ r: 170, g: 140, b: 100 }), // Muted Light Orange - colord({ r: 140, g: 120, b: 160 }), // Muted Lavender - colord({ r: 150, g: 170, b: 130 }), // Muted Light Green - colord({ r: 170, g: 120, b: 140 }), // Muted Hot Pink - colord({ r: 120, g: 140, b: 120 }), // Muted Sea Green - colord({ r: 180, g: 160, b: 160 }), // Muted Light Pink - colord({ r: 130, g: 130, b: 160 }), // Muted Periwinkle - colord({ r: 160, g: 150, b: 120 }), // Muted Sand - colord({ r: 120, g: 160, b: 150 }), // Muted Aquamarine - colord({ r: 170, g: 150, b: 170 }), // Muted Orchid - colord({ r: 150, g: 160, b: 120 }), // Muted Yellow Green - colord({ r: 120, g: 130, b: 140 }), // Muted Steel Blue - colord({ r: 180, g: 140, b: 140 }), // Muted Salmon - colord({ r: 140, g: 160, b: 170 }), // Muted Light Blue - colord({ r: 170, g: 150, b: 130 }), // Muted Tan - colord({ r: 160, g: 130, b: 160 }), // Muted Plum - colord({ r: 130, g: 170, b: 130 }), // Muted Light Sea Green - colord({ r: 170, g: 130, b: 130 }), // Muted Coral - colord({ r: 130, g: 150, b: 170 }), // Muted Cornflower Blue - colord({ r: 170, g: 170, b: 140 }), // Muted Khaki - colord({ r: 150, g: 130, b: 150 }), // Muted Purple Gray - colord({ r: 140, g: 160, b: 140 }), // Muted Dark Sea Green - colord({ r: 170, g: 130, b: 120 }), // Muted Dark Salmon - colord({ r: 130, g: 150, b: 160 }), // Muted Cadet Blue - colord({ r: 160, g: 160, b: 150 }), // Muted Tan Gray - colord({ r: 150, g: 140, b: 160 }), // Muted Medium Purple - colord({ r: 150, g: 170, b: 150 }), // Muted Pale Green - colord({ r: 160, g: 140, b: 130 }), // Muted Rosy Brown - colord({ r: 140, g: 150, b: 160 }), // Muted Light Slate Gray - colord({ r: 160, g: 150, b: 140 }), // Muted Dark Khaki - colord({ r: 140, g: 130, b: 140 }), // Muted Thistle - colord({ r: 150, g: 160, b: 160 }), // Muted Pale Blue Green - colord({ r: 160, g: 140, b: 150 }), // Muted Puce - colord({ r: 130, g: 160, b: 150 }), // Muted Medium Aquamarine - colord({ r: 160, g: 150, b: 160 }), // Muted Mauve - colord({ r: 150, g: 160, b: 140 }), // Muted Dark Olive Green - colord({ r: 150, g: 140, b: 150 }), // Muted Dusty Rose + colord("rgb(190,120,120)"), // Muted Red + colord("rgb(120,160,190)"), // Muted Sky Blue + colord("rgb(190,160,100)"), // Muted Golden Yellow + colord("rgb(160,120,190)"), // Muted Purple + colord("rgb(100,170,130)"), // Muted Emerald Green + colord("rgb(190,130,160)"), // Muted Pink + colord("rgb(120,150,100)"), // Muted Olive Green + colord("rgb(190,140,120)"), // Muted Peach + colord("rgb(100,120,160)"), // Muted Navy Blue + colord("rgb(170,170,120)"), // Muted Lime Yellow + colord("rgb(160,120,130)"), // Muted Maroon + colord("rgb(120,170,170)"), // Muted Turquoise + colord("rgb(170,140,100)"), // Muted Light Orange + colord("rgb(140,120,160)"), // Muted Lavender + colord("rgb(150,170,130)"), // Muted Light Green + colord("rgb(170,120,140)"), // Muted Hot Pink + colord("rgb(120,140,120)"), // Muted Sea Green + colord("rgb(180,160,160)"), // Muted Light Pink + colord("rgb(130,130,160)"), // Muted Periwinkle + colord("rgb(160,150,120)"), // Muted Sand + colord("rgb(120,160,150)"), // Muted Aquamarine + colord("rgb(170,150,170)"), // Muted Orchid + colord("rgb(150,160,120)"), // Muted Yellow Green + colord("rgb(120,130,140)"), // Muted Steel Blue + colord("rgb(180,140,140)"), // Muted Salmon + colord("rgb(140,160,170)"), // Muted Light Blue + colord("rgb(170,150,130)"), // Muted Tan + colord("rgb(160,130,160)"), // Muted Plum + colord("rgb(130,170,130)"), // Muted Light Sea Green + colord("rgb(170,130,130)"), // Muted Coral + colord("rgb(130,150,170)"), // Muted Cornflower Blue + colord("rgb(170,170,140)"), // Muted Khaki + colord("rgb(150,130,150)"), // Muted Purple Gray + colord("rgb(140,160,140)"), // Muted Dark Sea Green + colord("rgb(170,130,120)"), // Muted Dark Salmon + colord("rgb(130,150,160)"), // Muted Cadet Blue + colord("rgb(160,160,150)"), // Muted Tan Gray + colord("rgb(150,140,160)"), // Muted Medium Purple + colord("rgb(150,170,150)"), // Muted Pale Green + colord("rgb(160,140,130)"), // Muted Rosy Brown + colord("rgb(140,150,160)"), // Muted Light Slate Gray + colord("rgb(160,150,140)"), // Muted Dark Khaki + colord("rgb(140,130,140)"), // Muted Thistle + colord("rgb(150,160,160)"), // Muted Pale Blue Green + colord("rgb(160,140,150)"), // Muted Puce + colord("rgb(130,160,150)"), // Muted Medium Aquamarine + colord("rgb(160,150,160)"), // Muted Mauve + colord("rgb(150,160,140)"), // Muted Dark Olive Green + colord("rgb(150,140,150)"), // Muted Dusty Rose ]; -// Fallback colors for when the color palette is exhausted. Currently 100 colors. +// Fallback colors for when the color palette is exhausted. export const fallbackColors: Colord[] = [ - colord({ r: 35, g: 0, b: 0 }), - colord({ r: 45, g: 0, b: 0 }), - colord({ r: 55, g: 0, b: 0 }), - colord({ r: 65, g: 0, b: 0 }), - colord({ r: 75, g: 0, b: 0 }), - colord({ r: 85, g: 0, b: 0 }), - colord({ r: 95, g: 0, b: 0 }), - colord({ r: 105, g: 0, b: 0 }), - colord({ r: 115, g: 0, b: 0 }), - colord({ r: 125, g: 0, b: 0 }), - colord({ r: 135, g: 0, b: 0 }), - colord({ r: 145, g: 0, b: 0 }), - colord({ r: 155, g: 0, b: 0 }), - colord({ r: 165, g: 0, b: 0 }), - colord({ r: 175, g: 0, b: 0 }), - colord({ r: 185, g: 0, b: 0 }), - colord({ r: 195, g: 0, b: 5 }), - colord({ r: 205, g: 0, b: 10 }), - colord({ r: 215, g: 0, b: 15 }), - colord({ r: 225, g: 0, b: 20 }), - colord({ r: 235, g: 0, b: 25 }), - colord({ r: 245, g: 0, b: 30 }), - colord({ r: 255, g: 0, b: 35 }), - colord({ r: 255, g: 10, b: 45 }), - colord({ r: 255, g: 20, b: 55 }), - colord({ r: 255, g: 30, b: 65 }), - colord({ r: 255, g: 40, b: 75 }), - colord({ r: 255, g: 50, b: 85 }), - colord({ r: 255, g: 60, b: 95 }), - colord({ r: 255, g: 70, b: 105 }), - colord({ r: 255, g: 80, b: 115 }), - colord({ r: 255, g: 90, b: 125 }), - colord({ r: 255, g: 100, b: 135 }), - colord({ r: 255, g: 110, b: 145 }), - colord({ r: 255, g: 120, b: 155 }), - colord({ r: 255, g: 130, b: 165 }), - colord({ r: 255, g: 140, b: 175 }), - colord({ r: 255, g: 150, b: 185 }), - colord({ r: 255, g: 160, b: 195 }), - colord({ r: 255, g: 170, b: 205 }), - colord({ r: 255, g: 180, b: 215 }), - colord({ r: 255, g: 190, b: 225 }), - colord({ r: 255, g: 200, b: 235 }), - colord({ r: 0, g: 45, b: 0 }), - colord({ r: 0, g: 55, b: 0 }), - colord({ r: 0, g: 65, b: 0 }), - colord({ r: 0, g: 75, b: 0 }), - colord({ r: 0, g: 85, b: 0 }), - colord({ r: 0, g: 95, b: 0 }), - colord({ r: 0, g: 105, b: 0 }), - colord({ r: 0, g: 115, b: 0 }), - colord({ r: 0, g: 125, b: 0 }), - colord({ r: 0, g: 135, b: 0 }), - colord({ r: 0, g: 145, b: 0 }), - colord({ r: 0, g: 155, b: 0 }), - colord({ r: 0, g: 165, b: 0 }), - colord({ r: 0, g: 175, b: 0 }), - colord({ r: 0, g: 185, b: 0 }), - colord({ r: 0, g: 195, b: 5 }), - colord({ r: 0, g: 205, b: 10 }), - colord({ r: 0, g: 215, b: 15 }), - colord({ r: 0, g: 225, b: 20 }), - colord({ r: 0, g: 235, b: 25 }), - colord({ r: 0, g: 245, b: 30 }), - colord({ r: 0, g: 255, b: 35 }), - colord({ r: 10, g: 255, b: 45 }), - colord({ r: 20, g: 255, b: 55 }), - colord({ r: 30, g: 255, b: 65 }), - colord({ r: 40, g: 255, b: 75 }), - colord({ r: 50, g: 255, b: 85 }), - colord({ r: 60, g: 255, b: 95 }), - colord({ r: 70, g: 255, b: 105 }), - colord({ r: 80, g: 255, b: 115 }), - colord({ r: 90, g: 255, b: 125 }), - colord({ r: 100, g: 255, b: 135 }), - colord({ r: 110, g: 255, b: 145 }), - colord({ r: 120, g: 255, b: 155 }), - colord({ r: 130, g: 255, b: 165 }), - colord({ r: 140, g: 255, b: 175 }), - colord({ r: 150, g: 255, b: 185 }), - colord({ r: 160, g: 255, b: 195 }), - colord({ r: 170, g: 255, b: 205 }), - colord({ r: 180, g: 255, b: 215 }), - colord({ r: 190, g: 255, b: 225 }), - colord({ r: 200, g: 255, b: 235 }), - colord({ r: 0, g: 0, b: 35 }), - colord({ r: 0, g: 0, b: 45 }), - colord({ r: 0, g: 0, b: 55 }), - colord({ r: 0, g: 0, b: 65 }), - colord({ r: 0, g: 0, b: 75 }), - colord({ r: 0, g: 0, b: 85 }), - colord({ r: 0, g: 0, b: 95 }), - colord({ r: 0, g: 0, b: 105 }), - colord({ r: 0, g: 0, b: 115 }), - colord({ r: 0, g: 0, b: 125 }), - colord({ r: 0, g: 0, b: 135 }), - colord({ r: 0, g: 0, b: 145 }), - colord({ r: 0, g: 0, b: 155 }), - colord({ r: 0, g: 0, b: 165 }), - colord({ r: 0, g: 0, b: 175 }), - colord({ r: 0, g: 0, b: 185 }), - colord({ r: 5, g: 0, b: 195 }), - colord({ r: 10, g: 0, b: 205 }), - colord({ r: 15, g: 0, b: 215 }), - colord({ r: 20, g: 0, b: 225 }), - colord({ r: 25, g: 0, b: 235 }), - colord({ r: 30, g: 0, b: 245 }), - colord({ r: 35, g: 0, b: 255 }), - colord({ r: 45, g: 10, b: 255 }), - colord({ r: 55, g: 20, b: 255 }), - colord({ r: 65, g: 30, b: 255 }), - colord({ r: 75, g: 40, b: 255 }), - colord({ r: 85, g: 50, b: 255 }), - colord({ r: 95, g: 60, b: 255 }), - colord({ r: 105, g: 70, b: 255 }), - colord({ r: 115, g: 80, b: 255 }), - colord({ r: 125, g: 90, b: 255 }), - colord({ r: 135, g: 100, b: 255 }), - colord({ r: 145, g: 110, b: 255 }), - colord({ r: 155, g: 120, b: 255 }), - colord({ r: 165, g: 130, b: 255 }), - colord({ r: 175, g: 140, b: 255 }), - colord({ r: 185, g: 150, b: 255 }), - colord({ r: 195, g: 160, b: 255 }), - colord({ r: 205, g: 170, b: 255 }), - colord({ r: 215, g: 180, b: 255 }), - colord({ r: 225, g: 190, b: 255 }), - colord({ r: 235, g: 200, b: 255 }), - colord({ r: 35, g: 0, b: 35 }), - colord({ r: 45, g: 0, b: 45 }), - colord({ r: 55, g: 0, b: 55 }), - colord({ r: 65, g: 0, b: 65 }), - colord({ r: 75, g: 0, b: 75 }), - colord({ r: 85, g: 0, b: 85 }), - colord({ r: 95, g: 0, b: 95 }), - colord({ r: 105, g: 0, b: 105 }), - colord({ r: 115, g: 0, b: 115 }), - colord({ r: 125, g: 0, b: 125 }), - colord({ r: 135, g: 0, b: 135 }), - colord({ r: 145, g: 0, b: 145 }), - colord({ r: 155, g: 0, b: 155 }), - colord({ r: 165, g: 0, b: 165 }), - colord({ r: 175, g: 0, b: 175 }), - colord({ r: 185, g: 0, b: 185 }), - colord({ r: 195, g: 5, b: 195 }), - colord({ r: 205, g: 10, b: 205 }), - colord({ r: 215, g: 15, b: 215 }), - colord({ r: 225, g: 20, b: 225 }), - colord({ r: 235, g: 25, b: 235 }), - colord({ r: 245, g: 30, b: 245 }), - colord({ r: 255, g: 35, b: 255 }), - colord({ r: 255, g: 45, b: 255 }), - colord({ r: 255, g: 55, b: 255 }), - colord({ r: 255, g: 65, b: 255 }), - colord({ r: 255, g: 75, b: 255 }), - colord({ r: 255, g: 85, b: 255 }), - colord({ r: 255, g: 95, b: 255 }), - colord({ r: 255, g: 105, b: 255 }), - colord({ r: 255, g: 115, b: 255 }), - colord({ r: 255, g: 125, b: 255 }), - colord({ r: 255, g: 135, b: 255 }), - colord({ r: 255, g: 145, b: 255 }), - colord({ r: 255, g: 155, b: 255 }), - colord({ r: 255, g: 165, b: 255 }), - colord({ r: 255, g: 175, b: 255 }), - colord({ r: 255, g: 185, b: 255 }), - colord({ r: 255, g: 195, b: 255 }), - colord({ r: 255, g: 205, b: 255 }), - colord({ r: 255, g: 215, b: 255 }), - colord({ r: 0, g: 35, b: 35 }), - colord({ r: 0, g: 45, b: 45 }), - colord({ r: 0, g: 55, b: 55 }), - colord({ r: 0, g: 65, b: 65 }), - colord({ r: 0, g: 75, b: 75 }), - colord({ r: 0, g: 85, b: 85 }), - colord({ r: 0, g: 95, b: 95 }), - colord({ r: 0, g: 105, b: 105 }), - colord({ r: 0, g: 115, b: 115 }), - colord({ r: 0, g: 125, b: 125 }), - colord({ r: 0, g: 135, b: 135 }), - colord({ r: 0, g: 145, b: 145 }), - colord({ r: 0, g: 155, b: 155 }), - colord({ r: 0, g: 165, b: 165 }), - colord({ r: 0, g: 175, b: 175 }), - colord({ r: 0, g: 185, b: 185 }), - colord({ r: 5, g: 195, b: 195 }), - colord({ r: 10, g: 205, b: 205 }), - colord({ r: 15, g: 215, b: 215 }), - colord({ r: 20, g: 225, b: 225 }), - colord({ r: 25, g: 235, b: 235 }), - colord({ r: 30, g: 245, b: 245 }), - colord({ r: 35, g: 255, b: 255 }), - colord({ r: 45, g: 255, b: 255 }), - colord({ r: 55, g: 255, b: 255 }), - colord({ r: 65, g: 255, b: 255 }), - colord({ r: 75, g: 255, b: 255 }), - colord({ r: 85, g: 255, b: 255 }), - colord({ r: 95, g: 255, b: 255 }), - colord({ r: 105, g: 255, b: 255 }), - colord({ r: 115, g: 255, b: 255 }), - colord({ r: 125, g: 255, b: 255 }), - colord({ r: 135, g: 255, b: 255 }), - colord({ r: 145, g: 255, b: 255 }), - colord({ r: 155, g: 255, b: 255 }), - colord({ r: 165, g: 255, b: 255 }), - colord({ r: 175, g: 255, b: 255 }), - colord({ r: 185, g: 255, b: 255 }), - colord({ r: 195, g: 255, b: 255 }), - colord({ r: 205, g: 255, b: 255 }), - colord({ r: 215, g: 255, b: 255 }), - colord({ r: 35, g: 35, b: 0 }), - colord({ r: 45, g: 45, b: 0 }), - colord({ r: 55, g: 55, b: 0 }), - colord({ r: 65, g: 65, b: 0 }), - colord({ r: 75, g: 75, b: 0 }), - colord({ r: 85, g: 85, b: 0 }), - colord({ r: 95, g: 95, b: 0 }), - colord({ r: 105, g: 105, b: 0 }), - colord({ r: 115, g: 115, b: 0 }), - colord({ r: 125, g: 125, b: 0 }), - colord({ r: 135, g: 135, b: 0 }), - colord({ r: 145, g: 145, b: 0 }), - colord({ r: 155, g: 155, b: 0 }), - colord({ r: 165, g: 165, b: 0 }), - colord({ r: 175, g: 175, b: 0 }), - colord({ r: 185, g: 185, b: 0 }), - colord({ r: 195, g: 195, b: 5 }), - colord({ r: 205, g: 205, b: 10 }), - colord({ r: 215, g: 215, b: 15 }), - colord({ r: 225, g: 225, b: 20 }), - colord({ r: 235, g: 235, b: 25 }), - colord({ r: 245, g: 245, b: 30 }), - colord({ r: 255, g: 255, b: 35 }), - colord({ r: 255, g: 255, b: 45 }), - colord({ r: 255, g: 255, b: 55 }), - colord({ r: 255, g: 255, b: 65 }), - colord({ r: 255, g: 255, b: 75 }), - colord({ r: 255, g: 255, b: 85 }), - colord({ r: 255, g: 255, b: 95 }), - colord({ r: 255, g: 255, b: 105 }), - colord({ r: 255, g: 255, b: 115 }), - colord({ r: 255, g: 255, b: 125 }), - colord({ r: 255, g: 255, b: 135 }), - colord({ r: 255, g: 255, b: 145 }), - colord({ r: 255, g: 255, b: 155 }), - colord({ r: 255, g: 255, b: 165 }), - colord({ r: 255, g: 255, b: 175 }), - colord({ r: 255, g: 255, b: 185 }), - colord({ r: 255, g: 255, b: 195 }), - colord({ r: 255, g: 255, b: 205 }), - colord({ r: 255, g: 255, b: 215 }), - colord({ r: 215, g: 255, b: 200 }), // Fresh Mint - colord({ r: 225, g: 255, b: 175 }), // Soft Lime - colord({ r: 240, g: 250, b: 160 }), // Citrus Wash - colord({ r: 245, g: 245, b: 175 }), // Lemon Mist - colord({ r: 150, g: 200, b: 255 }), // Cornflower Mist - colord({ r: 160, g: 215, b: 255 }), // Powder Blue - colord({ r: 170, g: 225, b: 255 }), // Baby Sky - colord({ r: 180, g: 235, b: 250 }), // Aqua Pastel - colord({ r: 190, g: 245, b: 240 }), // Ice Mint - colord({ r: 210, g: 255, b: 245 }), // Sea Mist - colord({ r: 220, g: 255, b: 255 }), // Pale Aqua - colord({ r: 230, g: 250, b: 255 }), // Sky Haze - colord({ r: 240, g: 240, b: 255 }), // Frosted Lilac - colord({ r: 250, g: 230, b: 255 }), // Misty Mauve - colord({ r: 170, g: 190, b: 255 }), // Periwinkle Ice - colord({ r: 180, g: 180, b: 255 }), // Pale Indigo - colord({ r: 200, g: 170, b: 255 }), // Lilac Bloom - colord({ r: 190, g: 140, b: 195 }), // Fuchsia Tint - colord({ r: 195, g: 145, b: 200 }), // Dusky Rose - colord({ r: 200, g: 150, b: 205 }), // Plum Frost - colord({ r: 205, g: 155, b: 210 }), // Berry Foam - colord({ r: 210, g: 160, b: 215 }), // Grape Cloud - colord({ r: 215, g: 165, b: 220 }), // Light Bloom - colord({ r: 220, g: 170, b: 225 }), // Cherry Blossom - colord({ r: 225, g: 175, b: 230 }), // Faded Rose - colord({ r: 230, g: 180, b: 235 }), // Dreamy Mauve - colord({ r: 235, g: 185, b: 240 }), // Powder Violet - colord({ r: 240, g: 190, b: 245 }), // Pastel Violet - colord({ r: 245, g: 195, b: 250 }), // Soft Magenta - colord({ r: 250, g: 200, b: 255 }), // Lilac Cream - colord({ r: 255, g: 205, b: 255 }), // Violet Bloom - colord({ r: 255, g: 210, b: 255 }), // Orchid Mist - colord({ r: 255, g: 210, b: 250 }), // Lavender Mist - colord({ r: 255, g: 205, b: 245 }), // Pastel Orchid - colord({ r: 255, g: 215, b: 245 }), // Rose Whisper - colord({ r: 220, g: 160, b: 255 }), // Violet Mist - colord({ r: 235, g: 150, b: 255 }), // Orchid Glow - colord({ r: 245, g: 160, b: 240 }), // Rose Lilac - colord({ r: 255, g: 170, b: 225 }), // Bubblegum Pink - colord({ r: 255, g: 185, b: 215 }), // Blush Mist - colord({ r: 255, g: 195, b: 235 }), // Faded Fuchsia - colord({ r: 255, g: 200, b: 220 }), // Cotton Rose - colord({ r: 255, g: 210, b: 230 }), // Pastel Blush - colord({ r: 255, g: 220, b: 235 }), // Pink Mist - colord({ r: 255, g: 220, b: 250 }), // Powder Petal - colord({ r: 255, g: 225, b: 255 }), // Petal Mist - colord({ r: 255, g: 230, b: 245 }), // Light Rose - colord({ r: 255, g: 235, b: 235 }), // Blushed Petal - colord({ r: 255, g: 215, b: 195 }), // Apricot Glow - colord({ r: 255, g: 225, b: 180 }), // Butter Peach - colord({ r: 255, g: 230, b: 190 }), - colord({ r: 255, g: 235, b: 200 }), // Cream Peach - colord({ r: 255, g: 245, b: 210 }), // Soft Banana - colord({ r: 255, g: 240, b: 220 }), // Pastel Sand + colord("rgb(35,0,0)"), + colord("rgb(45,0,0)"), + colord("rgb(55,0,0)"), + colord("rgb(65,0,0)"), + colord("rgb(75,0,0)"), + colord("rgb(85,0,0)"), + colord("rgb(95,0,0)"), + colord("rgb(105,0,0)"), + colord("rgb(115,0,0)"), + colord("rgb(125,0,0)"), + colord("rgb(135,0,0)"), + colord("rgb(145,0,0)"), + colord("rgb(155,0,0)"), + colord("rgb(165,0,0)"), + colord("rgb(175,0,0)"), + colord("rgb(185,0,0)"), + colord("rgb(195,0,5)"), + colord("rgb(205,0,10)"), + colord("rgb(215,0,15)"), + colord("rgb(225,0,20)"), + colord("rgb(235,0,25)"), + colord("rgb(245,0,30)"), + colord("rgb(255,0,35)"), + colord("rgb(255,10,45)"), + colord("rgb(255,20,55)"), + colord("rgb(255,30,65)"), + colord("rgb(255,40,75)"), + colord("rgb(255,50,85)"), + colord("rgb(255,60,95)"), + colord("rgb(255,70,105)"), + colord("rgb(255,80,115)"), + colord("rgb(255,90,125)"), + colord("rgb(255,100,135)"), + colord("rgb(255,110,145)"), + colord("rgb(255,120,155)"), + colord("rgb(255,130,165)"), + colord("rgb(255,140,175)"), + colord("rgb(255,150,185)"), + colord("rgb(255,160,195)"), + colord("rgb(255,170,205)"), + colord("rgb(255,180,215)"), + colord("rgb(255,190,225)"), + colord("rgb(255,200,235)"), + colord("rgb(0,45,0)"), + colord("rgb(0,55,0)"), + colord("rgb(0,65,0)"), + colord("rgb(0,75,0)"), + colord("rgb(0,85,0)"), + colord("rgb(0,95,0)"), + colord("rgb(0,105,0)"), + colord("rgb(0,115,0)"), + colord("rgb(0,125,0)"), + colord("rgb(0,135,0)"), + colord("rgb(0,145,0)"), + colord("rgb(0,155,0)"), + colord("rgb(0,165,0)"), + colord("rgb(0,175,0)"), + colord("rgb(0,185,0)"), + colord("rgb(0,195,5)"), + colord("rgb(0,205,10)"), + colord("rgb(0,215,15)"), + colord("rgb(0,225,20)"), + colord("rgb(0,235,25)"), + colord("rgb(0,245,30)"), + colord("rgb(0,255,35)"), + colord("rgb(10,255,45)"), + colord("rgb(20,255,55)"), + colord("rgb(30,255,65)"), + colord("rgb(40,255,75)"), + colord("rgb(50,255,85)"), + colord("rgb(60,255,95)"), + colord("rgb(70,255,105)"), + colord("rgb(80,255,115)"), + colord("rgb(90,255,125)"), + colord("rgb(100,255,135)"), + colord("rgb(110,255,145)"), + colord("rgb(120,255,155)"), + colord("rgb(130,255,165)"), + colord("rgb(140,255,175)"), + colord("rgb(150,255,185)"), + colord("rgb(160,255,195)"), + colord("rgb(170,255,205)"), + colord("rgb(180,255,215)"), + colord("rgb(190,255,225)"), + colord("rgb(200,255,235)"), + colord("rgb(0,0,35)"), + colord("rgb(0,0,45)"), + colord("rgb(0,0,55)"), + colord("rgb(0,0,65)"), + colord("rgb(0,0,75)"), + colord("rgb(0,0,85)"), + colord("rgb(0,0,95)"), + colord("rgb(0,0,105)"), + colord("rgb(0,0,115)"), + colord("rgb(0,0,125)"), + colord("rgb(0,0,135)"), + colord("rgb(0,0,145)"), + colord("rgb(0,0,155)"), + colord("rgb(0,0,165)"), + colord("rgb(0,0,175)"), + colord("rgb(0,0,185)"), + colord("rgb(5,0,195)"), + colord("rgb(10,0,205)"), + colord("rgb(15,0,215)"), + colord("rgb(20,0,225)"), + colord("rgb(25,0,235)"), + colord("rgb(30,0,245)"), + colord("rgb(35,0,255)"), + colord("rgb(45,10,255)"), + colord("rgb(55,20,255)"), + colord("rgb(65,30,255)"), + colord("rgb(75,40,255)"), + colord("rgb(85,50,255)"), + colord("rgb(95,60,255)"), + colord("rgb(105,70,255)"), + colord("rgb(115,80,255)"), + colord("rgb(125,90,255)"), + colord("rgb(135,100,255)"), + colord("rgb(145,110,255)"), + colord("rgb(155,120,255)"), + colord("rgb(165,130,255)"), + colord("rgb(175,140,255)"), + colord("rgb(185,150,255)"), + colord("rgb(195,160,255)"), + colord("rgb(205,170,255)"), + colord("rgb(215,180,255)"), + colord("rgb(225,190,255)"), + colord("rgb(235,200,255)"), + colord("rgb(35,0,35)"), + colord("rgb(45,0,45)"), + colord("rgb(55,0,55)"), + colord("rgb(65,0,65)"), + colord("rgb(75,0,75)"), + colord("rgb(85,0,85)"), + colord("rgb(95,0,95)"), + colord("rgb(105,0,105)"), + colord("rgb(115,0,115)"), + colord("rgb(125,0,125)"), + colord("rgb(135,0,135)"), + colord("rgb(145,0,145)"), + colord("rgb(155,0,155)"), + colord("rgb(165,0,165)"), + colord("rgb(175,0,175)"), + colord("rgb(185,0,185)"), + colord("rgb(195,5,195)"), + colord("rgb(205,10,205)"), + colord("rgb(215,15,215)"), + colord("rgb(225,20,225)"), + colord("rgb(235,25,235)"), + colord("rgb(245,30,245)"), + colord("rgb(255,35,255)"), + colord("rgb(255,45,255)"), + colord("rgb(255,55,255)"), + colord("rgb(255,65,255)"), + colord("rgb(255,75,255)"), + colord("rgb(255,85,255)"), + colord("rgb(255,95,255)"), + colord("rgb(255,105,255)"), + colord("rgb(255,115,255)"), + colord("rgb(255,125,255)"), + colord("rgb(255,135,255)"), + colord("rgb(255,145,255)"), + colord("rgb(255,155,255)"), + colord("rgb(255,165,255)"), + colord("rgb(255,175,255)"), + colord("rgb(255,185,255)"), + colord("rgb(255,195,255)"), + colord("rgb(255,205,255)"), + colord("rgb(255,215,255)"), + colord("rgb(0,35,35)"), + colord("rgb(0,45,45)"), + colord("rgb(0,55,55)"), + colord("rgb(0,65,65)"), + colord("rgb(0,75,75)"), + colord("rgb(0,85,85)"), + colord("rgb(0,95,95)"), + colord("rgb(0,105,105)"), + colord("rgb(0,115,115)"), + colord("rgb(0,125,125)"), + colord("rgb(0,135,135)"), + colord("rgb(0,145,145)"), + colord("rgb(0,155,155)"), + colord("rgb(0,165,165)"), + colord("rgb(0,175,175)"), + colord("rgb(0,185,185)"), + colord("rgb(5,195,195)"), + colord("rgb(10,205,205)"), + colord("rgb(15,215,215)"), + colord("rgb(20,225,225)"), + colord("rgb(25,235,235)"), + colord("rgb(30,245,245)"), + colord("rgb(35,255,255)"), + colord("rgb(45,255,255)"), + colord("rgb(55,255,255)"), + colord("rgb(65,255,255)"), + colord("rgb(75,255,255)"), + colord("rgb(85,255,255)"), + colord("rgb(95,255,255)"), + colord("rgb(105,255,255)"), + colord("rgb(115,255,255)"), + colord("rgb(125,255,255)"), + colord("rgb(135,255,255)"), + colord("rgb(145,255,255)"), + colord("rgb(155,255,255)"), + colord("rgb(165,255,255)"), + colord("rgb(175,255,255)"), + colord("rgb(185,255,255)"), + colord("rgb(195,255,255)"), + colord("rgb(205,255,255)"), + colord("rgb(215,255,255)"), + colord("rgb(35,35,0)"), + colord("rgb(45,45,0)"), + colord("rgb(55,55,0)"), + colord("rgb(65,65,0)"), + colord("rgb(75,75,0)"), + colord("rgb(85,85,0)"), + colord("rgb(95,95,0)"), + colord("rgb(105,105,0)"), + colord("rgb(115,115,0)"), + colord("rgb(125,125,0)"), + colord("rgb(135,135,0)"), + colord("rgb(145,145,0)"), + colord("rgb(155,155,0)"), + colord("rgb(165,165,0)"), + colord("rgb(175,175,0)"), + colord("rgb(185,185,0)"), + colord("rgb(195,195,5)"), + colord("rgb(205,205,10)"), + colord("rgb(215,215,15)"), + colord("rgb(225,225,20)"), + colord("rgb(235,235,25)"), + colord("rgb(245,245,30)"), + colord("rgb(255,255,35)"), + colord("rgb(255,255,45)"), + colord("rgb(255,255,55)"), + colord("rgb(255,255,65)"), + colord("rgb(255,255,75)"), + colord("rgb(255,255,85)"), + colord("rgb(255,255,95)"), + colord("rgb(255,255,105)"), + colord("rgb(255,255,115)"), + colord("rgb(255,255,125)"), + colord("rgb(255,255,135)"), + colord("rgb(255,255,145)"), + colord("rgb(255,255,155)"), + colord("rgb(255,255,165)"), + colord("rgb(255,255,175)"), + colord("rgb(255,255,185)"), + colord("rgb(255,255,195)"), + colord("rgb(255,255,205)"), + colord("rgb(255,255,215)"), + colord("rgb(215,255,200)"), // Fresh Mint + colord("rgb(225,255,175)"), // Soft Lime + colord("rgb(240,250,160)"), // Citrus Wash + colord("rgb(245,245,175)"), // Lemon Mist + colord("rgb(150,200,255)"), // Cornflower Mist + colord("rgb(160,215,255)"), // Powder Blue + colord("rgb(170,225,255)"), // Baby Sky + colord("rgb(180,235,250)"), // Aqua Pastel + colord("rgb(190,245,240)"), // Ice Mint + colord("rgb(210,255,245)"), // Sea Mist + colord("rgb(220,255,255)"), // Pale Aqua + colord("rgb(230,250,255)"), // Sky Haze + colord("rgb(240,240,255)"), // Frosted Lilac + colord("rgb(250,230,255)"), // Misty Mauve + colord("rgb(170,190,255)"), // Periwinkle Ice + colord("rgb(180,180,255)"), // Pale Indigo + colord("rgb(200,170,255)"), // Lilac Bloom + colord("rgb(190,140,195)"), // Fuchsia Tint + colord("rgb(195,145,200)"), // Dusky Rose + colord("rgb(200,150,205)"), // Plum Frost + colord("rgb(205,155,210)"), // Berry Foam + colord("rgb(210,160,215)"), // Grape Cloud + colord("rgb(215,165,220)"), // Light Bloom + colord("rgb(220,170,225)"), // Cherry Blossom + colord("rgb(225,175,230)"), // Faded Rose + colord("rgb(230,180,235)"), // Dreamy Mauve + colord("rgb(235,185,240)"), // Powder Violet + colord("rgb(240,190,245)"), // Pastel Violet + colord("rgb(245,195,250)"), // Soft Magenta + colord("rgb(250,200,255)"), // Lilac Cream + colord("rgb(255,205,255)"), // Violet Bloom + colord("rgb(255,210,255)"), // Orchid Mist + colord("rgb(255,210,250)"), // Lavender Mist + colord("rgb(255,205,245)"), // Pastel Orchid + colord("rgb(255,215,245)"), // Rose Whisper + colord("rgb(220,160,255)"), // Violet Mist + colord("rgb(235,150,255)"), // Orchid Glow + colord("rgb(245,160,240)"), // Rose Lilac + colord("rgb(255,170,225)"), // Bubblegum Pink + colord("rgb(255,185,215)"), // Blush Mist + colord("rgb(255,195,235)"), // Faded Fuchsia + colord("rgb(255,200,220)"), // Cotton Rose + colord("rgb(255,210,230)"), // Pastel Blush + colord("rgb(255,220,235)"), // Pink Mist + colord("rgb(255,220,250)"), // Powder Petal + colord("rgb(255,225,255)"), // Petal Mist + colord("rgb(255,230,245)"), // Light Rose + colord("rgb(255,235,235)"), // Blushed Petal + colord("rgb(255,215,195)"), // Apricot Glow + colord("rgb(255,225,180)"), // Butter Peach + colord("rgb(255,230,190)"), + colord("rgb(255,235,200)"), // Cream Peach + colord("rgb(255,245,210)"), // Soft Banana + colord("rgb(255,240,220)"), // Pastel Sand ]; diff --git a/src/core/configuration/PastelTheme.ts b/src/core/configuration/PastelTheme.ts index 48b362121..e660e6dc2 100644 --- a/src/core/configuration/PastelTheme.ts +++ b/src/core/configuration/PastelTheme.ts @@ -17,35 +17,35 @@ export class PastelTheme implements Theme { private teamColorAllocator = new ColorAllocator(humanColors, fallbackColors); private nationColorAllocator = new ColorAllocator(nationColors, nationColors); - private background = colord({ r: 60, g: 60, b: 60 }); - private shore = colord({ r: 223, g: 187, b: 132 }); + private background = colord("rgb(60,60,60)"); + private shore = colord("rgb(204,203,158)"); private falloutColors = [ - colord({ r: 120, g: 255, b: 71 }), // Original color - colord({ r: 130, g: 255, b: 85 }), // Slightly lighter - colord({ r: 110, g: 245, b: 65 }), // Slightly darker - colord({ r: 125, g: 255, b: 75 }), // Warmer tint - colord({ r: 115, g: 250, b: 68 }), // Cooler tint + colord("rgb(120,255,71)"), // Original color + colord("rgb(130,255,85)"), // Slightly lighter + colord("rgb(110,245,65)"), // Slightly darker + colord("rgb(125,255,75)"), // Warmer tint + colord("rgb(115,250,68)"), // Cooler tint ]; - private water = colord({ r: 80, g: 76, b: 179 }); - private shorelineWater = colord({ r: 100, g: 110, b: 255 }); + private water = colord("rgb(70,132,180)"); + private shorelineWater = colord("rgb(100,143,255)"); /** Alternate View colors for self, green */ - private _selfColor = colord({ r: 0, g: 255, b: 0 }); + private _selfColor = colord("rgb(0,255,0)"); /** Alternate View colors for allies, yellow */ - private _allyColor = colord({ r: 255, g: 255, b: 0 }); + private _allyColor = colord("rgb(255,255,0)"); /** Alternate View colors for neutral, gray */ - private _neutralColor = colord({ r: 128, g: 128, b: 128 }); + private _neutralColor = colord("rgb(128,128,128)"); /** Alternate View colors for enemies, red */ - private _enemyColor = colord({ r: 255, g: 0, b: 0 }); + private _enemyColor = colord("rgb(255,0,0)"); /** Default spawn highlight colors for other players in FFA, yellow */ - private _spawnHighlightColor = colord({ r: 255, g: 213, b: 79 }); + private _spawnHighlightColor = colord("rgb(255,213,79)"); /** Added non-default spawn highlight colors for self, full white */ - private _spawnHighlightSelfColor = colord({ r: 255, g: 255, b: 255 }); + private _spawnHighlightSelfColor = colord("rgb(255,255,255)"); /** Added non-default spawn highlight colors for teammates, green */ - private _spawnHighlightTeamColor = colord({ r: 0, g: 255, b: 0 }); + private _spawnHighlightTeamColor = colord("rgb(0,255,0)"); /** Added non-default spawn highlight colors for enemies, red */ - private _spawnHighlightEnemyColor = colord({ r: 255, g: 0, b: 0 }); + private _spawnHighlightEnemyColor = colord("rgb(255,0,0)"); teamColor(team: Team): Colord { return this.teamColorAllocator.assignTeamColor(team); @@ -81,7 +81,7 @@ export class PastelTheme implements Theme { } focusedBorderColor(): Colord { - return colord({ r: 230, g: 230, b: 230 }); + return colord("rgb(230,230,230)"); } textColor(player: PlayerView): string { diff --git a/src/core/configuration/PastelThemeDark.ts b/src/core/configuration/PastelThemeDark.ts index eee5e33d6..1ece7a63c 100644 --- a/src/core/configuration/PastelThemeDark.ts +++ b/src/core/configuration/PastelThemeDark.ts @@ -4,10 +4,10 @@ import { GameMap, TileRef } from "../game/GameMap"; import { PastelTheme } from "./PastelTheme"; export class PastelThemeDark extends PastelTheme { - private darkShore = colord({ r: 134, g: 133, b: 88 }); + private darkShore = colord("rgb(134,133,88)"); - private darkWater = colord({ r: 14, g: 11, b: 30 }); - private darkShorelineWater = colord({ r: 50, g: 50, b: 50 }); + private darkWater = colord("rgb(14,11,30)"); + private darkShorelineWater = colord("rgb(50,50,50)"); terrainColor(gm: GameMap, tile: TileRef): Colord { const mag = gm.magnitude(tile);