aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_color.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-18 04:44:50 -0400
committerhistoria <[not public]>2026-07-18 04:44:50 -0400
commit2b5d8f595f96a2864899f4c7e28bc06fa52d2603 (patch)
treef1539db865d9968414e59d9b250861c1b356d627 /internal/game/cmd_color.go
parentdb8ca1fe26a36b78074a424ae657b2cbb9b3af19 (diff)
downloadthehouseoficarus-2b5d8f595f96a2864899f4c7e28bc06fa52d2603.tar.gz
feat: expose all colors in config.yaml for easier theming
Diffstat (limited to 'internal/game/cmd_color.go')
-rw-r--r--internal/game/cmd_color.go63
1 files changed, 51 insertions, 12 deletions
diff --git a/internal/game/cmd_color.go b/internal/game/cmd_color.go
index 01e2b9a..01912a7 100644
--- a/internal/game/cmd_color.go
+++ b/internal/game/cmd_color.go
@@ -134,39 +134,78 @@ func (g *Game) executeColor(sess *net.Session, args []string, rawInput string) {
}
var colorCategoryOrder = []string{
+ // Room / look
"room_name",
"room_number",
"room_desc",
- "direction",
"exit_direction",
"exit_name",
- "protected_mob",
+ "dim",
"mob",
+ "protected_mob",
+ "player_name",
+ "item",
+
+ // Movement
+ "direction",
+
+ // Combat
"damage_dealt",
"damage_taken",
-
- "xp",
- "level_up",
- "item",
- "player_name",
+ "miss",
"death",
"victory",
- "miss",
+ "warning",
"error",
+ "science_mod",
+
+ // XP / level
+ "xp",
+ "level_up",
+
+ // Pickups / economy
+ "currency_pickup",
+
+ // Chat / dialog
"say",
"global",
+ "broadcast",
"dialog",
"dialog_options",
- "broadcast",
- "fire",
- "eat_food",
+
+ // Drops / consume / fire
"drop_message",
- "currency_pickup",
+ "eat_food",
+ "fire",
+
+ // Tick / status
+ "visual_tick",
+ "visual_first_tick",
+ // Tech / farm
+ "battery",
+ "tech_depleted",
+ "farm_grow",
+ "farm_disease",
+
+ // Assassin / map / safespot
+ "assassin_task",
"map_at",
"map_blocked",
"map_agility",
"safespot_alert",
+
+ // System
+ "sequence",
+}
+
+// PlayerColorCategoryOrder is the canonical ordered list of player-overridable
+// color categories, shared with the admin GUI so its left-side editor list
+// mirrors the in-game `colors` command output exactly.
+func PlayerColorCategoryOrder() []string {
+ out := make([]string, len(colorCategoryOrder))
+ copy(out, colorCategoryOrder)
+ return out
}
func showColorTable(g *Game, sess *net.Session) {