317 lines
7.3 KiB
TOML
317 lines
7.3 KiB
TOML
# ships.toml
|
|
#
|
|
# First real-content iteration: ship ids and layout grids are the designed
|
|
# content; stats, materials, and production times are placeholders until the
|
|
# recipe and balancing passes.
|
|
#
|
|
# Size classes:
|
|
# xs drone 1 cell — exactly one 1x1 module
|
|
# s frigate, destroyer no 2x2 area anywhere: only 1x1/1x2/1x3/L modules fit
|
|
# m cruiser, battlecruiser 2x2 areas (m guns, drone bays) but no 3x3 area
|
|
# l battleship fits exactly one 3x3 l gun, at heavy opportunity cost
|
|
# xl dreadnought, carrier dreadnought fits three l guns; carrier fits one
|
|
# drone hangar (2x6) but no l gun (its deck rows
|
|
# are broken up by elevator shafts)
|
|
#
|
|
# All new hulls have threat cost_formula = "0" so enemy waves do not spawn
|
|
# them until the balancing pass gives them real stats and default loadouts.
|
|
|
|
[[ship]]
|
|
id = "drone"
|
|
unlock_at_station_level = -1
|
|
layout = ["O"]
|
|
default_modules = [{type = "laser_cannon_s", x = 0, y = 0, rotation = "east"}]
|
|
|
|
[ship.schematic]
|
|
materials = [{item = "drone_hull", amount = 1}]
|
|
player_production_level = 1
|
|
production_time_seconds = 5
|
|
|
|
[ship.threat]
|
|
cost_formula = "10"
|
|
|
|
[ship.health]
|
|
hp_formula = "3"
|
|
|
|
[ship.movement]
|
|
speed_mps_formula = "40"
|
|
main_acceleration_mpss_formula = "80"
|
|
maneuvering_acceleration_mpss_formula = "40"
|
|
angular_acceleration_radpss_formula = "12.56"
|
|
max_rotation_speed_radps_formula = "6.28"
|
|
|
|
[ship.sensor]
|
|
sensor_range_m_formula = "150"
|
|
|
|
[ship.loot]
|
|
scrap_drop = 2
|
|
|
|
|
|
# Frigate — 5 cells in a plus shape. Holds a couple of small guns plus at
|
|
# most one 1x2 support (every 1x2 placement crosses the center cell), or one
|
|
# L-shaped weapon modifier, or an afterburner spanning the full center line.
|
|
[[ship]]
|
|
id = "frigate"
|
|
unlock_at_station_level = -1
|
|
layout = [
|
|
"XOX",
|
|
"OOO",
|
|
"XOX",
|
|
]
|
|
|
|
[ship.schematic]
|
|
materials = [{item = "frigate_hull", amount = 1}]
|
|
player_production_level = 1
|
|
production_time_seconds = 10
|
|
|
|
[ship.threat]
|
|
cost_formula = "0"
|
|
|
|
[ship.health]
|
|
hp_formula = "30"
|
|
|
|
[ship.movement]
|
|
speed_mps_formula = "30"
|
|
main_acceleration_mpss_formula = "50"
|
|
maneuvering_acceleration_mpss_formula = "25"
|
|
angular_acceleration_radpss_formula = "8"
|
|
max_rotation_speed_radps_formula = "4"
|
|
|
|
[ship.sensor]
|
|
sensor_range_m_formula = "200"
|
|
|
|
[ship.loot]
|
|
scrap_drop = 5
|
|
|
|
|
|
# Destroyer — 8 cells: a long gun deck with three turret bumps on top.
|
|
# Still no 2x2 area, so it packs more small guns than a frigate but can never
|
|
# mount medium hardware.
|
|
[[ship]]
|
|
id = "destroyer"
|
|
unlock_at_station_level = -1
|
|
layout = [
|
|
"OXOXO",
|
|
"OOOOO",
|
|
]
|
|
|
|
[ship.schematic]
|
|
materials = [{item = "destroyer_hull", amount = 1}]
|
|
player_production_level = 1
|
|
production_time_seconds = 15
|
|
|
|
[ship.threat]
|
|
cost_formula = "0"
|
|
|
|
[ship.health]
|
|
hp_formula = "50"
|
|
|
|
[ship.movement]
|
|
speed_mps_formula = "25"
|
|
main_acceleration_mpss_formula = "40"
|
|
maneuvering_acceleration_mpss_formula = "20"
|
|
angular_acceleration_radpss_formula = "6"
|
|
max_rotation_speed_radps_formula = "3"
|
|
|
|
[ship.sensor]
|
|
sensor_range_m_formula = "220"
|
|
|
|
[ship.loot]
|
|
scrap_drop = 8
|
|
|
|
|
|
# Cruiser — 12 cells with notched corners. Fits at most two 2x2 m guns
|
|
# (stacked through the middle), leaving the four side cells for small
|
|
# supports; no 3x3 area exists for an l gun.
|
|
[[ship]]
|
|
id = "cruiser"
|
|
unlock_at_station_level = -1
|
|
layout = [
|
|
"XOOX",
|
|
"OOOO",
|
|
"OOOO",
|
|
"XOOX",
|
|
]
|
|
|
|
[ship.schematic]
|
|
materials = [{item = "cruiser_hull", amount = 1}]
|
|
player_production_level = 1
|
|
production_time_seconds = 25
|
|
|
|
[ship.threat]
|
|
cost_formula = "0"
|
|
|
|
[ship.health]
|
|
hp_formula = "120"
|
|
|
|
[ship.movement]
|
|
speed_mps_formula = "20"
|
|
main_acceleration_mpss_formula = "30"
|
|
maneuvering_acceleration_mpss_formula = "15"
|
|
angular_acceleration_radpss_formula = "4"
|
|
max_rotation_speed_radps_formula = "2"
|
|
|
|
[ship.sensor]
|
|
sensor_range_m_formula = "250"
|
|
|
|
[ship.loot]
|
|
scrap_drop = 15
|
|
|
|
|
|
# Battlecruiser — 16 cells: a wide bow split into two gun cheeks, tapering
|
|
# toward the stern. Fits three 2x2 m guns (two in the cheeks, one through
|
|
# the middle) with small support slots left over; the split bow and tapered
|
|
# stern leave no 3x3 area for an l gun and no 2x6 area for a drone hangar.
|
|
[[ship]]
|
|
id = "battlecruiser"
|
|
unlock_at_station_level = -1
|
|
layout = [
|
|
"OOXXOO",
|
|
"OOOOOO",
|
|
"XOOOOX",
|
|
"XXOOXX",
|
|
]
|
|
|
|
[ship.schematic]
|
|
materials = [{item = "battlecruiser_hull", amount = 1}]
|
|
player_production_level = 1
|
|
production_time_seconds = 35
|
|
|
|
[ship.threat]
|
|
cost_formula = "0"
|
|
|
|
[ship.health]
|
|
hp_formula = "180"
|
|
|
|
[ship.movement]
|
|
speed_mps_formula = "18"
|
|
main_acceleration_mpss_formula = "25"
|
|
maneuvering_acceleration_mpss_formula = "12"
|
|
angular_acceleration_radpss_formula = "3"
|
|
max_rotation_speed_radps_formula = "1.5"
|
|
|
|
[ship.sensor]
|
|
sensor_range_m_formula = "260"
|
|
|
|
[ship.loot]
|
|
scrap_drop = 20
|
|
|
|
|
|
# Battleship — 20 cells, 5 wide: at most ONE 3x3 l gun fits (the hull is too
|
|
# narrow for two), and mounting it consumes nearly half the grid, squeezing
|
|
# supports into the remaining strips. Without the l gun it flexibly fits
|
|
# several m guns instead. Too narrow for a drone hangar.
|
|
[[ship]]
|
|
id = "battleship"
|
|
unlock_at_station_level = -1
|
|
layout = [
|
|
"XOOOX",
|
|
"OOOOO",
|
|
"OOOOO",
|
|
"OOOOO",
|
|
"XOXOX",
|
|
]
|
|
|
|
[ship.schematic]
|
|
materials = [{item = "battleship_hull", amount = 1}]
|
|
player_production_level = 1
|
|
production_time_seconds = 60
|
|
|
|
[ship.threat]
|
|
cost_formula = "0"
|
|
|
|
[ship.health]
|
|
hp_formula = "350"
|
|
|
|
[ship.movement]
|
|
speed_mps_formula = "14"
|
|
main_acceleration_mpss_formula = "18"
|
|
maneuvering_acceleration_mpss_formula = "8"
|
|
angular_acceleration_radpss_formula = "2"
|
|
max_rotation_speed_radps_formula = "1"
|
|
|
|
[ship.sensor]
|
|
sensor_range_m_formula = "280"
|
|
|
|
[ship.loot]
|
|
scrap_drop = 35
|
|
|
|
|
|
# Dreadnought — 42 cells: an 11-wide, 3-deep main battery deck that fits
|
|
# three 3x3 l guns side by side with spacer columns left over, plus bow and
|
|
# stern strips for supports.
|
|
[[ship]]
|
|
id = "dreadnought"
|
|
unlock_at_station_level = -1
|
|
layout = [
|
|
"XXXOOOOOXXX",
|
|
"OOOOOOOOOOO",
|
|
"OOOOOOOOOOO",
|
|
"OOOOOOOOOOO",
|
|
"XXOOXXXOOXX",
|
|
]
|
|
|
|
[ship.schematic]
|
|
materials = [{item = "dreadnought_hull", amount = 1}]
|
|
player_production_level = 1
|
|
production_time_seconds = 120
|
|
|
|
[ship.threat]
|
|
cost_formula = "0"
|
|
|
|
[ship.health]
|
|
hp_formula = "800"
|
|
|
|
[ship.movement]
|
|
speed_mps_formula = "8"
|
|
main_acceleration_mpss_formula = "10"
|
|
maneuvering_acceleration_mpss_formula = "5"
|
|
angular_acceleration_radpss_formula = "1"
|
|
max_rotation_speed_radps_formula = "0.5"
|
|
|
|
[ship.sensor]
|
|
sensor_range_m_formula = "300"
|
|
|
|
[ship.loot]
|
|
scrap_drop = 60
|
|
|
|
|
|
# Carrier — 37 cells: the top flight deck (rows 0-1) is the only place wide
|
|
# enough for the 2x6 drone hangar, and exactly one fits. The middle deck row
|
|
# is broken up by elevator shafts (the X cells) so no 3x3 l gun can ever fit;
|
|
# the lower decks hold supports and 2x2 point-defense m guns.
|
|
[[ship]]
|
|
id = "carrier"
|
|
unlock_at_station_level = -1
|
|
layout = [
|
|
"XOOOOOOOOX",
|
|
"OOOOOOOOOO",
|
|
"OOXOOXOOXO",
|
|
"XOOOOOOOOX",
|
|
"XXXOOOOXXX",
|
|
]
|
|
|
|
[ship.schematic]
|
|
materials = [{item = "carrier_hull", amount = 1}]
|
|
player_production_level = 1
|
|
production_time_seconds = 120
|
|
|
|
[ship.threat]
|
|
cost_formula = "0"
|
|
|
|
[ship.health]
|
|
hp_formula = "700"
|
|
|
|
[ship.movement]
|
|
speed_mps_formula = "9"
|
|
main_acceleration_mpss_formula = "10"
|
|
maneuvering_acceleration_mpss_formula = "5"
|
|
angular_acceleration_radpss_formula = "1"
|
|
max_rotation_speed_radps_formula = "0.5"
|
|
|
|
[ship.sensor]
|
|
sensor_range_m_formula = "350"
|
|
|
|
[ship.loot]
|
|
scrap_drop = 60
|