fix config data paths
This commit is contained in:
89
bin/app/data/config/buildings.toml
Normal file
89
bin/app/data/config/buildings.toml
Normal file
@@ -0,0 +1,89 @@
|
||||
[[building]]
|
||||
id = "belt"
|
||||
cost = 2
|
||||
player_placeable = true
|
||||
construction_time_seconds = 0.2
|
||||
surface_mask = ["A>"]
|
||||
|
||||
[[building]]
|
||||
id = "splitter"
|
||||
cost = 3
|
||||
player_placeable = true
|
||||
construction_time_seconds = 0.5
|
||||
surface_mask = ["<A>"]
|
||||
|
||||
[[building]]
|
||||
id = "tunnel_entry"
|
||||
cost = 5
|
||||
player_placeable = true
|
||||
construction_time_seconds = 0.5
|
||||
surface_mask = ["A>"]
|
||||
|
||||
[[building]]
|
||||
id = "tunnel_exit"
|
||||
cost = 5
|
||||
player_placeable = true
|
||||
construction_time_seconds = 0.5
|
||||
surface_mask = ["A>"]
|
||||
|
||||
[[building]]
|
||||
id = "miner"
|
||||
cost = 15
|
||||
player_placeable = true
|
||||
construction_time_seconds = 1
|
||||
surface_mask = [
|
||||
"AA",
|
||||
"A>",
|
||||
]
|
||||
|
||||
[[building]]
|
||||
id = "smelter"
|
||||
cost = 20
|
||||
player_placeable = true
|
||||
construction_time_seconds = 1
|
||||
surface_mask = [
|
||||
"AA ",
|
||||
"AA>",
|
||||
]
|
||||
|
||||
[[building]]
|
||||
id = "assembler"
|
||||
cost = 35
|
||||
player_placeable = true
|
||||
construction_time_seconds = 1
|
||||
surface_mask = [
|
||||
"AAA ",
|
||||
"AAA>",
|
||||
"AAA ",
|
||||
]
|
||||
|
||||
[[building]]
|
||||
id = "reprocessing_plant"
|
||||
cost = 40
|
||||
player_placeable = true
|
||||
construction_time_seconds = 1
|
||||
surface_mask = [
|
||||
"AAA ",
|
||||
"AAA>",
|
||||
"AAA ",
|
||||
]
|
||||
|
||||
[[building]]
|
||||
id = "shipyard"
|
||||
cost = 60
|
||||
player_placeable = true
|
||||
construction_time_seconds = 1
|
||||
surface_mask = [
|
||||
"AAAS>",
|
||||
"AAAS ",
|
||||
]
|
||||
|
||||
[[building]]
|
||||
id = "salvage_bay"
|
||||
cost = 25
|
||||
player_placeable = true
|
||||
construction_time_seconds = 1
|
||||
surface_mask = [
|
||||
"SAA",
|
||||
"SAA>",
|
||||
]
|
||||
63
bin/app/data/config/recipes.toml
Normal file
63
bin/app/data/config/recipes.toml
Normal file
@@ -0,0 +1,63 @@
|
||||
[[recipe]]
|
||||
id = "mine_iron_ore"
|
||||
building = "miner"
|
||||
inputs = []
|
||||
outputs = [{item = "iron_ore", amount = 1}]
|
||||
duration_seconds = 1.0
|
||||
|
||||
[[recipe]]
|
||||
id = "mine_copper_ore"
|
||||
building = "miner"
|
||||
inputs = []
|
||||
outputs = [{item = "copper_ore", amount = 1}]
|
||||
duration_seconds = 1.5
|
||||
|
||||
[[recipe]]
|
||||
id = "iron_ingot"
|
||||
building = "smelter"
|
||||
inputs = [{item = "iron_ore", amount = 2}]
|
||||
outputs = [{item = "iron_ingot", amount = 1}]
|
||||
duration_seconds = 2.0
|
||||
|
||||
[[recipe]]
|
||||
id = "copper_ingot"
|
||||
building = "smelter"
|
||||
inputs = [{item = "copper_ore", amount = 2}]
|
||||
outputs = [{item = "copper_ingot", amount = 1}]
|
||||
duration_seconds = 2.5
|
||||
|
||||
[[recipe]]
|
||||
id = "circuit_board"
|
||||
building = "assembler"
|
||||
inputs = [{item = "iron_ingot", amount = 3}, {item = "copper_ingot", amount = 2}]
|
||||
outputs = [{item = "circuit_board", amount = 1}]
|
||||
duration_seconds = 5.0
|
||||
|
||||
[[recipe]]
|
||||
id = "building_blocks"
|
||||
building = "assembler"
|
||||
inputs = [{item = "iron_ingot", amount = 4}]
|
||||
outputs = [{item = "building_block", amount = 10}]
|
||||
duration_seconds = 4.0
|
||||
|
||||
[[recipe]]
|
||||
id = "reprocessing_cycle"
|
||||
building = "reprocessing_plant"
|
||||
inputs = [{item = "scrap", amount = 5}]
|
||||
duration_seconds = 3.0
|
||||
|
||||
[[recipe.outputs]]
|
||||
item = "iron_ingot"
|
||||
amount = 2
|
||||
probability = 0.6
|
||||
|
||||
[[recipe.outputs]]
|
||||
item = "circuit_board"
|
||||
amount = 1
|
||||
probability = 0.3
|
||||
|
||||
[[recipe.outputs]]
|
||||
item = "advanced_alloy"
|
||||
amount = 1
|
||||
probability = 0.1
|
||||
|
||||
116
bin/app/data/config/ships.toml
Normal file
116
bin/app/data/config/ships.toml
Normal file
@@ -0,0 +1,116 @@
|
||||
[[ship]]
|
||||
id = "interceptor"
|
||||
available_from_start = true
|
||||
|
||||
[ship.schematic]
|
||||
materials = [{item = "iron_ingot", amount = 3}, {item = "circuit_board", amount = 1}]
|
||||
player_production_level = 1
|
||||
production_time_seconds = 10
|
||||
|
||||
[ship.threat]
|
||||
cost_formula = "10"
|
||||
|
||||
[ship.health]
|
||||
hp_formula = "4"
|
||||
|
||||
[ship.movement]
|
||||
speed_formula = "4"
|
||||
|
||||
[ship.sensor]
|
||||
sensor_range_formula = "15"
|
||||
|
||||
[ship.combat]
|
||||
damage_formula = "1"
|
||||
attack_range_formula = "10"
|
||||
attack_rate_formula = "2.0"
|
||||
|
||||
[ship.loot]
|
||||
scrap_drop = 2
|
||||
|
||||
|
||||
[[ship]]
|
||||
id = "destroyer"
|
||||
available_from_start = true
|
||||
|
||||
[ship.schematic]
|
||||
materials = [{item = "iron_ingot", amount = 5}, {item = "circuit_board", amount = 2}]
|
||||
player_production_level = 5
|
||||
production_time_seconds = 20
|
||||
|
||||
[ship.threat]
|
||||
cost_formula = "0"
|
||||
|
||||
[ship.health]
|
||||
hp_formula = "120 + 15*x"
|
||||
|
||||
[ship.movement]
|
||||
speed_formula = "120"
|
||||
|
||||
[ship.sensor]
|
||||
sensor_range_formula = "300"
|
||||
|
||||
[ship.combat]
|
||||
damage_formula = "12 + 2*x"
|
||||
attack_range_formula = "250"
|
||||
attack_rate_formula = "1.0"
|
||||
|
||||
[ship.loot]
|
||||
scrap_drop = 4
|
||||
|
||||
|
||||
[[ship]]
|
||||
id = "salvage_ship"
|
||||
available_from_start = true
|
||||
|
||||
[ship.schematic]
|
||||
materials = [{item = "iron_ingot", amount = 4}]
|
||||
player_production_level = 3
|
||||
production_time_seconds = 10
|
||||
|
||||
[ship.threat]
|
||||
cost_formula = "0"
|
||||
|
||||
[ship.health]
|
||||
hp_formula = "40 + 4*x"
|
||||
|
||||
[ship.movement]
|
||||
speed_formula = "110"
|
||||
|
||||
[ship.sensor]
|
||||
sensor_range_formula = "250"
|
||||
|
||||
[ship.salvage]
|
||||
collection_range = 50
|
||||
cargo_capacity = 10
|
||||
|
||||
[ship.loot]
|
||||
scrap_drop = 2
|
||||
|
||||
|
||||
[[ship]]
|
||||
id = "repair_ship"
|
||||
available_from_start = false
|
||||
|
||||
[ship.schematic]
|
||||
materials = [{item = "iron_ingot", amount = 4}, {item = "circuit_board", amount = 2}]
|
||||
player_production_level = 3
|
||||
production_time_seconds = 15
|
||||
|
||||
[ship.threat]
|
||||
cost_formula = "0"
|
||||
|
||||
[ship.health]
|
||||
hp_formula = "60 + 5*x"
|
||||
|
||||
[ship.movement]
|
||||
speed_formula = "130"
|
||||
|
||||
[ship.sensor]
|
||||
sensor_range_formula = "250"
|
||||
|
||||
[ship.repair]
|
||||
repair_rate_formula = "5 + x"
|
||||
repair_range_formula = "80"
|
||||
|
||||
[ship.loot]
|
||||
scrap_drop = 2
|
||||
30
bin/app/data/config/stations.toml
Normal file
30
bin/app/data/config/stations.toml
Normal file
@@ -0,0 +1,30 @@
|
||||
[hq]
|
||||
surface_mask = [
|
||||
"AAA",
|
||||
"AAA",
|
||||
"AAA",
|
||||
]
|
||||
hp_formula = "1000"
|
||||
|
||||
[player_station]
|
||||
surface_mask = [
|
||||
"SS",
|
||||
"SS",
|
||||
]
|
||||
level = 1
|
||||
hp_formula = "300"
|
||||
damage_formula = "5"
|
||||
range_formula = "20"
|
||||
fire_rate_formula = "1"
|
||||
scrap_drop_formula = "10"
|
||||
|
||||
[enemy_station]
|
||||
surface_mask = [
|
||||
"SS",
|
||||
"SS",
|
||||
]
|
||||
hp_formula = "300 + 150*x"
|
||||
damage_formula = "2 + 1*x"
|
||||
range_formula = "20"
|
||||
fire_rate_formula = "1.0 + 0.2*x"
|
||||
scrap_drop_formula = "10 + 5*x"
|
||||
194
bin/app/data/config/visuals.toml
Normal file
194
bin/app/data/config/visuals.toml
Normal file
@@ -0,0 +1,194 @@
|
||||
# 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 = "#5a5a5a"
|
||||
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.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
[items.iron_ore]
|
||||
fill = "#8a5a4a"
|
||||
outline = "#201010"
|
||||
|
||||
[items.copper_ore]
|
||||
fill = "#c47a3a"
|
||||
outline = "#3a1a0a"
|
||||
|
||||
[items.iron_ingot]
|
||||
fill = "#b0b0b8"
|
||||
outline = "#202028"
|
||||
|
||||
[items.copper_ingot]
|
||||
fill = "#d48a4a"
|
||||
outline = "#402010"
|
||||
|
||||
[items.circuit_board]
|
||||
fill = "#2ea35a"
|
||||
outline = "#0a2a14"
|
||||
|
||||
[items.advanced_alloy]
|
||||
fill = "#a06acc"
|
||||
outline = "#201030"
|
||||
|
||||
[items.building_block]
|
||||
fill = "#c8b070"
|
||||
outline = "#302810"
|
||||
|
||||
[items.scrap]
|
||||
fill = "#7a7268"
|
||||
outline = "#201a14"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Ships
|
||||
#
|
||||
# Ships are drawn as oriented triangles/arrows. Color is keyed to role, not
|
||||
# schematic (architecture.md, "Layer Order").
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
[ships.player_combat]
|
||||
fill = "#3366ff"
|
||||
outline = "#ffffff"
|
||||
|
||||
[ships.salvage]
|
||||
fill = "#33cc66"
|
||||
outline = "#ffffff"
|
||||
|
||||
[ships.repair]
|
||||
fill = "#66ccff"
|
||||
outline = "#ffffff"
|
||||
|
||||
[ships.enemy]
|
||||
fill = "#cc3333"
|
||||
outline = "#ffffff"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Laser beams (REQ-SHP-FIRING-BEAM)
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
[beams]
|
||||
color = "#ff6600"
|
||||
width_px = 2
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Build / demolish / 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)
|
||||
demolish_tint = "#ff000033" # demolish-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)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Schematic-drop toasts (REQ-UI-SCHEMATIC-TOAST)
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
[toast]
|
||||
bg = "#000000cc"
|
||||
fg = "#ffffff"
|
||||
font_size = 14
|
||||
29
bin/app/data/config/world.toml
Normal file
29
bin/app/data/config/world.toml
Normal file
@@ -0,0 +1,29 @@
|
||||
[world]
|
||||
height_tiles = 30
|
||||
refund_percentage = 75
|
||||
starting_building_blocks = 1000
|
||||
scrap_despawn_seconds = 30
|
||||
belt_speed_tiles_per_second = 2
|
||||
tunnel_max_distance = 10
|
||||
departure_interval_seconds = 20
|
||||
|
||||
[regions]
|
||||
asteroid_width = 40
|
||||
player_buffer_width = 20
|
||||
contest_zone_width = 60
|
||||
enemy_buffer_width = 20
|
||||
|
||||
[expansion]
|
||||
columns_per_expansion = 10
|
||||
cost_building_blocks = 200
|
||||
|
||||
[push]
|
||||
push_expand_columns = 10
|
||||
scaling_factor = 1.2
|
||||
|
||||
[waves]
|
||||
threat_rate_formula = "0.01*x"
|
||||
ship_level_formula = "1"
|
||||
gap_min_seconds = 15
|
||||
gap_max_seconds = 45
|
||||
spawn_duration_seconds = 10
|
||||
Reference in New Issue
Block a user