aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/api_colors.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-18 03:40:02 -0400
committerhistoria <[not public]>2026-07-18 03:40:02 -0400
commitdb8ca1fe26a36b78074a424ae657b2cbb9b3af19 (patch)
tree9219f320de74f27cb5491e3cb6b0258c5713f0cb /internal/admin/api_colors.go
parent467944adfa41673a3758d9622873abbe7ae35a49 (diff)
downloadthehouseoficarus-db8ca1fe26a36b78074a424ae657b2cbb9b3af19.tar.gz
feat(admin): admin color page more accurately represents game
Diffstat (limited to 'internal/admin/api_colors.go')
-rw-r--r--internal/admin/api_colors.go104
1 files changed, 38 insertions, 66 deletions
diff --git a/internal/admin/api_colors.go b/internal/admin/api_colors.go
index 0493b6c..882a096 100644
--- a/internal/admin/api_colors.go
+++ b/internal/admin/api_colors.go
@@ -60,7 +60,6 @@ var colorCategories = []colorCategory{
// Combat
{Name: "damage_dealt", Label: "Damage Dealt", Group: "Combat"},
{Name: "damage_taken", Label: "Damage Taken", Group: "Combat"},
- {Name: "damage", Label: "Damage (alt key)", Group: "Combat"},
{Name: "miss", Label: "Miss", Group: "Combat"},
{Name: "death", Label: "Death", Group: "Combat"},
{Name: "victory", Label: "Victory", Group: "Combat"},
@@ -73,8 +72,7 @@ var colorCategories = []colorCategory{
{Name: "level_up", Label: "Level Up", Group: "XP / Level"},
// Pickups / economy
- {Name: "credits_pickup", Label: "Credits Pickup", Group: "Pickups / Economy"},
- {Name: "chips_pickup", Label: "Chips Pickup", Group: "Pickups / Economy"},
+ {Name: "currency_pickup", Label: "Currency Pickup", Group: "Pickups / Economy"},
// Chat / dialog
{Name: "say", Label: "Say", Group: "Chat / Dialog"},
@@ -102,7 +100,7 @@ var colorCategories = []colorCategory{
{Name: "assassin_task", Label: "Assassin Task", Group: "Assassin / Map / Safespot"},
{Name: "map_at", Label: "Map At (you)", Group: "Assassin / Map / Safespot"},
{Name: "map_blocked", Label: "Map Blocked", Group: "Assassin / Map / Safespot"},
- {Name: "map_course", Label: "Map Course", Group: "Assassin / Map / Safespot"},
+ {Name: "map_agility", Label: "Map Agility", Group: "Assassin / Map / Safespot"},
{Name: "safespot_alert", Label: "Safespot Alert", Group: "Assassin / Map / Safespot"},
// System
@@ -147,20 +145,30 @@ func buildPreview() []colorSection {
ln(seg("Test Room", "room_name"),
seg(" (intro, #2001)", "room_number")),
txt(""),
- ln(seg("It's a test room", "room_desc")),
+ // Description + minimap, right-aligned at column 80.
+ // Text padded to 71 chars visible + " " + 7-char map = 80.
+ ln(seg("Golstaff, you have entered the door to the north. You are now by ", "room_desc"),
+ seg("╔═════╗", "dim")),
+ ln(seg("yourself, standing in a dark room. The pungent stench of mildew ", "room_desc"),
+ seg("║", "dim"), seg(" ", ""), seg("║", "dim")),
+ ln(seg("emanates from the wet dungeon walls. ", "room_desc"),
+ seg("║", "dim"), seg(" ", ""), seg("║", "dim")),
+ ln(seg(" ", ""),
+ seg("║", "dim"), seg("■", ""), seg("-", ""), seg("@", "map_at"), seg("-", ""), seg("■", ""), seg("║", "dim")),
+ ln(seg("Crassius Rex", "protected_mob"), seg(" watches the gate. ", ""),
+ seg("║", "dim"), seg(" ", ""), seg("│", "map_agility"), seg(" ", ""), seg("║", "dim")),
+ ln(seg("A man ", "mob"), seg("(level 5)", "victory"), seg(" scribbles something in a small notebook. ", ""),
+ seg("║", "dim"), seg(" ", ""), seg("■", ""), seg(" ", ""), seg("║", "dim")),
+ ln(seg(" ", ""),
+ seg("╚═════╝", "dim")),
txt(""),
- ln(seg("A tree is here.", "room_desc")),
- txt(""),
- ln(seg("A sentry ", "protected_mob"), seg("(level 4)", ""), seg(" watches the gate.", "")),
- ln(seg("A man ", "mob"), seg("(level 5)", ""), seg(" scribbles something in a small notebook.", "")),
- txt(""),
- ln(seg("Icarus", "player_name"), seg(" is here.", "")),
+ ln(seg("Dalinar", "player_name"), seg(" (level 123)", "error"), seg(" is here.", "")),
txt(""),
txt("On the ground:"),
- ln(seg(" bones ", "item"), seg("(reserved for admin 65t)", "dim")),
+ ln(seg(" bones ", "item"), seg("(reserved for Dalinar 65t)", "dim")),
ln(seg(" bronze axe", "item")),
ln(seg(" bucket of water", "item")),
- ln(seg(" 10 x chips ", "item"), seg("(reserved for admin 65t)", "dim")),
+ ln(seg(" 10 x ", ""), seg("chips ", "item"), seg("(reserved for Dalinar 65t)", "dim")),
ln(seg(" pot of flour", "item")),
txt(""),
txt("Exits:"),
@@ -168,9 +176,7 @@ func buildPreview() []colorSection {
ln(seg(" ", ""), seg("east", "exit_direction"), seg(" - ", ""), seg("Processing Station", "exit_name")),
ln(seg(" ", ""), seg("west", "exit_direction"), seg(" - ", ""), seg("Inside Transport Shuttle", "exit_name")),
txt(""),
- ln(seg(">", "dim")),
- txt(""),
- ln(seg("> s", "dim")),
+ ln(seg("> s", "")),
ln(seg("You walk ", ""), seg("south", "direction"), seg(".", "")),
},
})
@@ -180,41 +186,28 @@ func buildPreview() []colorSection {
Title: "Combat (two encounters)",
Lines: []colorLine{
txt(""),
- ln(seg("> attack man", "dim")),
+ ln(seg("> attack man", "")),
txt(""),
ln(seg("You attack ", ""), seg("the man", "mob"), seg("! Style: accurate (+3 atk)", "")),
ln(seg("You hit ", ""), seg("the man", "mob"), seg(" for ", ""),
- seg("\U0001FB38 6 \U0001FB34 damage. [█░░░░░░░░░] [ 1/7]", "damage_dealt"),
+ seg("\U0001FB38 1 \U0001FB34 damage. ", "damage_dealt"),
+ seg("[█████████░]", "victory"), seg(" [ 6/7]", ""),
seg(" (+18xp acc, +6xp hp)", "xp")),
ln(seg("The man misses you.", "miss")),
ln(seg("You hit ", ""), seg("the man", "mob"), seg(" for ", ""),
- seg("\U0001FB38 6 \U0001FB34 damage. [░░░░░░░░░░] [ 0/7]", "damage_dealt"),
+ seg("\U0001FB38 6 \U0001FB34 damage. ", "damage_dealt"),
+ seg("[░░░░░░░░░░]", "error"), seg(" [ 0/7]", ""),
seg(" (+18xp acc, +6xp hp)", "xp")),
ln(seg("You have defeated ", ""), seg("the man", "mob"), seg("!", "victory")),
- ln(seg("*** You are now level 12 melee! ***", "level_up")),
+ ln(seg("*** You are now level 12 accuracy! ***", "level_up")),
txt(""),
- ln(seg("A scout", "mob"), seg(" hits you for ", ""),
- seg("\U0001FB38 5 \U0001FB34 damage. [██████░░░░] [22/40]", "damage_taken")),
- ln(seg("A scout's attack is extra effective! Equip ", ""),
- seg("plated vest", "warning"), seg(" for protection.", "")),
- ln(seg("You attack ", ""), seg("a scout", "mob"), seg(" with ", ""), seg("laser cutter", "science_mod"), seg("!", "")),
- ln(seg("You miss a scout.", "miss")),
+ ln(seg("The man", "mob"), seg(" hits you for ", ""),
+ seg("\U0001FB38 5 \U0001FB34 damage. ", "damage_taken"),
+ seg("[██████░░░░]", "warning"), seg(" [22/40]", "")),
ln(seg("Oh dear, you are dead!", "death")),
txt(""),
- ln(seg("> help!", "dim")),
- ln(seg("Unknown command.", "error")),
txt(""),
- ln(seg("(", ""), seg("damage", "damage"), seg(" is a config-only alt key, not emitted by the engine)", "")),
- },
- })
- // --- Pickups / economy ------------------------------------------------
- sections = append(sections, colorSection{
- Title: "Pickups & Economy",
- Lines: []colorLine{
- ln(seg("You pick up ", ""), seg("50 credits. (total: 1234)", "credits_pickup")),
- ln(seg("You steal ", ""), seg("25 credits", "credits_pickup"), seg(".", "")),
- ln(seg("Score \u2502 ", ""), seg("12 chips", "chips_pickup")),
},
})
@@ -223,14 +216,14 @@ func buildPreview() []colorSection {
Title: "Chat & Dialog",
Lines: []colorLine{
ln(seg("You say: ", ""), seg("hello there", "say")),
- ln(seg("[Global] ", "global"), seg("Icarus: ", "player_name"), seg("anyone up for a raid?", "global")),
- ln(seg("Icarus", "player_name"), seg(" has slain ", ""),
+ ln(seg("[Global] ", "global"), seg("Dalinar: ", "player_name"), seg("I just won big in baccarat!", "global")),
+ ln(seg("Dalinar", "player_name"), seg(" has slain ", ""),
seg("a scout", "broadcast"), seg(" (level 5)!", "broadcast")),
txt(""),
ln(seg("Guard says: ", ""), seg("\u201cHalt. State your business.\u201d", "dialog")),
- ln(seg("[enter to continue]", "dialog_options")),
ln(seg(" 1. ", "dialog_options"), seg("I'm looking for work.", "dialog")),
ln(seg(" 2. ", "dialog_options"), seg("Just passing through.", "dialog")),
+ ln(seg("[enter to continue]", "dialog_options")),
},
})
@@ -238,9 +231,10 @@ func buildPreview() []colorSection {
sections = append(sections, colorSection{
Title: "Drops, Consume & Fire",
Lines: []colorLine{
+ txt(""),
ln(seg("The man drops: ", "drop_message"), seg("bones", "item")),
ln(seg("The man drops: ", "drop_message"),
- seg("10", "credits_pickup"), seg(" x ", ""), seg("chips", "item")),
+ seg("10", ""), seg(" x ", ""), seg("chips", "item")),
ln(seg("You eat the bread. It restores some energy.", "eat_food")),
ln(seg("You manage to get a fire going!", "fire")),
},
@@ -264,35 +258,13 @@ func buildPreview() []colorSection {
sections = append(sections, colorSection{
Title: "Assassin & Safespot",
Lines: []colorLine{
+ txt(""),
ln(seg("Your target: 15 slugs. Get to work.", "assassin_task")),
ln(seg("*** Assassin task complete! ***", "assassin_task"),
seg(" (+50xp asm)", "xp")),
ln(seg(" Assassin task: 12 of 15 slugs remaining.", "assassin_task")),
ln(seg("Your safespot has been compromised!", "safespot_alert")),
- ln(seg("Your divine power prevents death.", "miss")),
- },
- })
-
- // --- Map (mini map side panel) ---------------------------------------
- sections = append(sections, colorSection{
- Title: "Mini Map",
- Lines: []colorLine{
- ln(seg("╔═════╗", "dim")),
- ln(seg("║", "dim"), seg(" ", ""), seg("░", "map_blocked"), seg(" ", ""), seg("║", "dim")),
- ln(seg("║", "dim"), seg(" ", ""), seg("║", "dim")),
- ln(seg("║", "dim"), seg("■", ""), seg("-", ""), seg("@", "map_at"), seg("-", ""), seg("■", ""), seg("║", "dim")),
- ln(seg("║", "dim"), seg(" ", ""), seg("│", "map_course"), seg(" ", ""), seg("║", "dim")),
- ln(seg("║", "dim"), seg(" ", ""), seg("■", ""), seg(" ", ""), seg("║", "dim")),
- ln(seg("╚═════╝", "dim")),
- },
- })
-
- // --- Trigger sequence / system ---------------------------------------
- sections = append(sections, colorSection{
- Title: "Triggers & System",
- Lines: []colorLine{
- ln(seg("The ancient console hums to life as you approach.", "sequence")),
- ln(seg(" A holographic display flickers. \u201cWelcome, traveler.\u201d", "sequence")),
+ txt(""),
},
})