Files
dota_factory/bin/app/data/config/visuals.toml

378 lines
8.4 KiB
TOML

# visuals.toml
#
# Rendering-only configuration, loaded once at startup by the UI.
# The simulation does not read this file.
#
# Every BuildingType, ItemType, ship role, and station type must have an
# entry here; missing or malformed entries abort startup (see architecture.md
# "Visual Parameters").
#
# Colors are "#rrggbb" or "#rrggbbaa" (alpha optional, last byte).
# -----------------------------------------------------------------------------
# Tile backgrounds
# -----------------------------------------------------------------------------
[tiles.asteroid]
fill = "#4a4038"
[tiles.space]
fill = "#0a0a15"
# -----------------------------------------------------------------------------
# Buildings
#
# One section per BuildingType enum value. `fill` colors every footprint tile
# of the building; `outline` is drawn around the building's bounding box;
# `glyph` is a short label drawn centered on the building.
# -----------------------------------------------------------------------------
[buildings.hq]
fill = "#2e5fb8"
outline = "#ffffff"
glyph = "HQ"
[buildings.miner]
fill = "#6b4a2c"
outline = "#ffffff"
glyph = "M"
[buildings.smelter]
fill = "#b85a1e"
outline = "#ffffff"
glyph = "Sm"
[buildings.assembler]
fill = "#3a6fa8"
outline = "#ffffff"
glyph = "A"
[buildings.reprocessing_plant]
fill = "#6a3a8a"
outline = "#ffffff"
glyph = "R"
[buildings.shipyard]
fill = "#385870"
outline = "#ffffff"
glyph = "Y"
[buildings.salvage_bay]
fill = "#b8a23a"
outline = "#ffffff"
glyph = "Sb"
[buildings.belt]
fill = "#1a1a1a"
outline = "#7a7a7a"
glyph = ""
[buildings.splitter]
fill = "#7a7a5a"
outline = "#9a9a7a"
glyph = ""
[buildings.tunnel_entry]
fill = "#4a6a5a"
outline = "#8aaa9a"
glyph = "Te"
[buildings.tunnel_exit]
fill = "#5a6a4a"
outline = "#9aaa8a"
glyph = "Tx"
# -----------------------------------------------------------------------------
# Stations
#
# Player and enemy defence stations have their own entries rather than going
# through [buildings.*] so the two sides can be color-coded at a glance.
# -----------------------------------------------------------------------------
[stations.player]
fill = "#2e5fb8"
outline = "#ffffff"
glyph = "P"
[stations.enemy]
fill = "#b82e2e"
outline = "#ffffff"
glyph = "E"
# -----------------------------------------------------------------------------
# Items
#
# Items on belts are 10x10 squares. `fill` is the square color; `outline` is
# drawn around it. One section per ItemType.
# -----------------------------------------------------------------------------
# --- ores ---
[items.iron_ore]
fill = "#47271c"
outline = "#a65b42"
[items.copper_ore]
fill = "#deb592"
outline = "#826a56"
[items.quartz]
fill = "#4f3d66"
outline = "#9776c4"
# --- smelted basics ---
[items.iron_ingot]
fill = "#535357"
outline = "#97979e"
[items.copper_ingot]
fill = "#663810"
outline = "#b07746"
[items.silicon]
fill = "#737f99"
outline = "#373f4f"
# --- salvage loop ---
[items.scrap]
fill = "#998e81"
outline = "#574b3d"
[items.voidsteel]
fill = "#82759c"
outline = "#3f374f"
# --- basic components ---
[items.copper_wire]
fill = "#e09a50"
outline = "#3a2008"
[items.steel_plate]
fill = "#202836"
outline = "#54698c"
[items.copper_coil]
fill = "#cca287"
outline = "#755d4d"
[items.building_block]
fill = "#544724"
outline = "#a18845"
# --- advanced components ---
[items.control_chip]
fill = "#74b08b"
outline = "#42634e"
[items.capacitor_bank]
fill = "#d0a030"
outline = "#302408"
[items.hardened_steel]
fill = "#818999"
outline = "#3e4859"
[items.ceramic_plate]
fill = "#e0d8c8"
outline = "#3a3428"
[items.drive_unit]
fill = "#92a4de"
outline = "#545f80"
# --- capital components ---
[items.voidsteel_plate]
fill = "#9986b5"
outline = "#544766"
[items.capital_core]
fill = "#420c52"
outline = "#9444ab"
# --- module items ---
[items.railgun_s_module]
fill = "#bf7e7e"
outline = "#664343"
[items.railgun_m_module]
fill = "#b07474"
outline = "#593b3b"
[items.railgun_l_module]
fill = "#b07474"
outline = "#593b3b"
[items.salvager_module]
fill = "#b2cfdd"
outline = "#236137"
[items.repair_tool_module]
fill = "#0b4347"
outline = "#38868c"
[items.armor_plates_module]
fill = "#999999"
outline = "#545454"
[items.sensor_booster_module]
fill = "#a0c9f2"
outline = "#607991"
[items.maneuvering_thrusters_module]
fill = "#92b4de"
outline = "#566982"
[items.afterburner_module]
fill = "#1d2e52"
outline = "#486db5"
[items.weapon_upgrade_module]
fill = "#ff4040"
outline = "#401010"
[items.weapon_primer_module]
fill = "#e69797"
outline = "#855858"
[items.weapon_stabilizer_module]
fill = "#c78383"
outline = "#6e4848"
[items.drone_bay_module]
fill = "#cc66ff"
outline = "#331040"
[items.drone_hangar_module]
fill = "#8c689e"
outline = "#42314a"
# --- ship hulls (outline matches the ship's fleet color in [ships.*]) ---
[items.drone_hull]
fill = "#1b1b1b"
outline = "#3366ff"
[items.frigate_hull]
fill = "#1b1b1b"
outline = "#44aaff"
[items.destroyer_hull]
fill = "#1b1b1b"
outline = "#33ccaa"
[items.cruiser_hull]
fill = "#1b1b1b"
outline = "#66cc33"
[items.battlecruiser_hull]
fill = "#1b1b1b"
outline = "#cccc33"
[items.battleship_hull]
fill = "#1b1b1b"
outline = "#ff9933"
[items.dreadnought_hull]
fill = "#1b1b1b"
outline = "#ff5533"
[items.carrier_hull]
fill = "#310f42"
outline = "#8542a6"
# -----------------------------------------------------------------------------
# Ships
#
# Ships are drawn as oriented triangles/arrows. Color is keyed to schematic id.
# -----------------------------------------------------------------------------
[ships.drone]
fill = "#3366ff"
outline = "#ffffff"
[ships.frigate]
fill = "#44aaff"
outline = "#ffffff"
[ships.destroyer]
fill = "#33ccaa"
outline = "#ffffff"
[ships.cruiser]
fill = "#66cc33"
outline = "#ffffff"
[ships.battlecruiser]
fill = "#cccc33"
outline = "#ffffff"
[ships.battleship]
fill = "#ff9933"
outline = "#ffffff"
[ships.dreadnought]
fill = "#ff5533"
outline = "#ffffff"
[ships.carrier]
fill = "#cc66ff"
outline = "#ffffff"
# -----------------------------------------------------------------------------
# Laser beams (REQ-SHP-FIRING-BEAM)
# -----------------------------------------------------------------------------
[beams]
weapon_color = "#ff6600"
repair_color = "#33ff66"
salvage_color = "#33ccff"
width_px = 2
# -----------------------------------------------------------------------------
# Build / deconstruct / selection overlays
#
# All overlay colors carry an alpha channel so they composite over the
# underlying scene.
# -----------------------------------------------------------------------------
[overlays]
ghost_valid = "#ffffff44" # builder-mode ghost, placement allowed (REQ-BLD-GHOST)
ghost_invalid = "#ff000044" # builder-mode ghost, placement invalid (REQ-BLD-PLACE-VALID)
deconstruct_tint = "#ff000033" # deconstruct-mode hover tint
selection_rect = "#00ff00" # box-drag selection rectangle (REQ-UI-MULTI-SELECT)
tile_highlight = "#ffffff22" # tile under cursor
selected_outline = "#ffff00" # outline drawn around currently-selected building(s)
config_transfer = "#33ccff66" # blueprint ghost over a configuration-transfer target (REQ-UI-BLUEPRINT-TRANSFER)
locked_asteroid = "#0000007f" # tint over the asteroid left of the buildable edge (not yet unlocked by expansion)
modal_dim = "#00000099" # semi-transparent black dim behind modal dialogs/menus (REQ-UI-MODAL-DIM)
tunnel_preview = "#00ff0055" # tunnel connection preview: matched end + tiles between (REQ-BLD-TUNNEL-MODE)
# -----------------------------------------------------------------------------
# Schematic-drop toasts (REQ-UI-SCHEMATIC-TOAST)
# -----------------------------------------------------------------------------
[toast]
bg = "#000000cc"
fg = "#ffffff"
font_size = 14
# -----------------------------------------------------------------------------
# Building status light (REQ-UI-STATUS-LIGHT)
#
# Fill color per production state, drawn as a small circle in the building's
# upper-right corner, plus the constant outline color.
# -----------------------------------------------------------------------------
[status_light]
grey = "#808080" # no recipe/schematic selected
green = "#33cc33" # producing (Salvage Bay: holding scrap)
red = "#cc3333" # idle, input missing (Salvage Bay: empty)
yellow = "#e6c619" # idle, output buffer full
outline = "#000000"