# 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 four m guns, or exactly one 3x3 l gun at heavy # opportunity cost # xl dreadnought, carrier dreadnought fits three l guns but no drone # hangar; carrier fits one drone hangar (2x6) # but no l gun (its deck rows are broken up # by elevator shafts) [[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.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.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.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.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 — 24 cells: a broadside hull with notched flanks on every other # row. Fits four 2x2 m guns (two per gun deck) with the bow, stern, and flank # cells left for supports. All 3x3 placements crowd the center columns, so at # most ONE l gun fits — and mounting it blocks every m gun mount, leaving # only narrow support strips. The notched rows are never adjacent-and-full, # so no 2x6 drone hangar fits. [[ship]] id = "battleship" unlock_at_station_level = -1 layout = [ "XOOOOX", "OOOOOO", "XOOOOX", "OOOOOO", "XOOOOX", ] [ship.schematic] materials = [{item = "battleship_hull", amount = 1}] player_production_level = 1 production_time_seconds = 60 [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 — 36 cells: the main battery deck is split into three 3x3 gun # slots by structural spacer columns, so exactly three l guns fit side by # side (or m guns / supports in unused slots). The spacers cap every # horizontal run at 5 cells, so the 2x6 drone hangar can never fit — carriers # stay the only hangar hull. Bow and stern strips hold supports. [[ship]] id = "dreadnought" unlock_at_station_level = -1 layout = [ "XXXOOOOOXXX", "OOOXOOOXOOO", "OOOXOOOXOOO", "OOOXOOOXOOO", "XXOOXXXOOXX", ] [ship.schematic] materials = [{item = "dreadnought_hull", amount = 1}] player_production_level = 1 production_time_seconds = 120 [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.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