# 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 = "iron_ore", amount = 1}] player_production_level = 1 production_time_seconds = 5 [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