# balancing.toml — canonical arena suite for the combat stats pass.
#
# Ship counts are chosen so both teams have (near-)equal total threat,
# using the verified fitted threat values from tools/threat_report.py:
#   drone 10.5, frigate 47, destroyer 99, cruiser 233.5,
#   battlecruiser 354.5, battleship 722.5, dreadnought 1491.5,
#   carrier 1436.5, glass destroyer (8 small guns) 92, repair drone 17.
# Module arrays mirror the ships' default_modules loadouts unless a
# doctrine variant is the point of the arena.
#
# Expectations: mirror matches and equal-threat cross-tier matchups should
# be near-draws (power-per-threat rule); the two-to-one arena must be a
# decisive win for the larger team. "Cruisers vs carrier" is EXPECTED to be
# a loss for the carrier until the drone-launching capability exists — the
# hangar is 224 threat of dead weight.

# --- mirrors (sanity: symmetric outcomes, fight duration in the 30-60 s band) ---

[[arena]]
name = "Mirror: drones 20v20"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Alpha"
    [[arena.team.ship]]
    schematic = "drone"
    count = 20
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
    ]

  [[arena.team]]
  name = "Beta"
    [[arena.team.ship]]
    schematic = "drone"
    count = 20
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
    ]

[[arena]]
name = "Mirror: cruisers 6v6"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Alpha"
    [[arena.team.ship]]
    schematic = "cruiser"
    count = 6
    modules = [
      {type = "railgun_m", x = 0, y = 1, rotation = "east"},
      {type = "railgun_m", x = 2, y = 1, rotation = "east"},
      {type = "armor_plates", x = 1, y = 0, rotation = "east"},
      {type = "maneuvering_thrusters", x = 1, y = 3, rotation = "east"},
    ]

  [[arena.team]]
  name = "Beta"
    [[arena.team.ship]]
    schematic = "cruiser"
    count = 6
    modules = [
      {type = "railgun_m", x = 0, y = 1, rotation = "east"},
      {type = "railgun_m", x = 2, y = 1, rotation = "east"},
      {type = "armor_plates", x = 1, y = 0, rotation = "east"},
      {type = "maneuvering_thrusters", x = 1, y = 3, rotation = "east"},
    ]

[[arena]]
name = "Mirror: battleships 2v2"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Alpha"
    [[arena.team.ship]]
    schematic = "battleship"
    count = 2
    modules = [
      {type = "railgun_l", x = 1, y = 0, rotation = "east"},
      {type = "railgun_m", x = 1, y = 3, rotation = "east"},
      {type = "railgun_m", x = 3, y = 3, rotation = "east"},
      {type = "weapon_stabilizer", x = 4, y = 1, rotation = "east"},
      {type = "railgun_s", x = 4, y = 0, rotation = "east"},
      {type = "railgun_s", x = 0, y = 1, rotation = "east"},
    ]

  [[arena.team]]
  name = "Beta"
    [[arena.team.ship]]
    schematic = "battleship"
    count = 2
    modules = [
      {type = "railgun_l", x = 1, y = 0, rotation = "east"},
      {type = "railgun_m", x = 1, y = 3, rotation = "east"},
      {type = "railgun_m", x = 3, y = 3, rotation = "east"},
      {type = "weapon_stabilizer", x = 4, y = 1, rotation = "east"},
      {type = "railgun_s", x = 4, y = 0, rotation = "east"},
      {type = "railgun_s", x = 0, y = 1, rotation = "east"},
    ]

# --- equal-threat cross-tier matchups (power-per-threat: expect near-draws) ---

[[arena]]
name = "Drone swarm vs cruisers (462 vs 467)"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Swarm"
    [[arena.team.ship]]
    schematic = "drone"
    count = 44
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
    ]

  [[arena.team]]
  name = "Cruisers"
    [[arena.team.ship]]
    schematic = "cruiser"
    count = 2
    modules = [
      {type = "railgun_m", x = 0, y = 1, rotation = "east"},
      {type = "railgun_m", x = 2, y = 1, rotation = "east"},
      {type = "armor_plates", x = 1, y = 0, rotation = "east"},
      {type = "maneuvering_thrusters", x = 1, y = 3, rotation = "east"},
    ]

[[arena]]
name = "Frigates vs battleship (705 vs 723)"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Frigates"
    [[arena.team.ship]]
    schematic = "frigate"
    count = 15
    modules = [
      {type = "railgun_s", x = 1, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 1, rotation = "east"},
      {type = "maneuvering_thrusters", x = 0, y = 1, rotation = "east"},
    ]

  [[arena.team]]
  name = "Battleship"
    [[arena.team.ship]]
    schematic = "battleship"
    count = 1
    modules = [
      {type = "railgun_l", x = 1, y = 0, rotation = "east"},
      {type = "railgun_m", x = 1, y = 3, rotation = "east"},
      {type = "railgun_m", x = 3, y = 3, rotation = "east"},
      {type = "weapon_stabilizer", x = 4, y = 1, rotation = "east"},
      {type = "railgun_s", x = 4, y = 0, rotation = "east"},
      {type = "railgun_s", x = 0, y = 1, rotation = "east"},
    ]

[[arena]]
name = "Destroyers vs dreadnought (1485 vs 1492)"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Destroyers"
    [[arena.team.ship]]
    schematic = "destroyer"
    count = 15
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 0, rotation = "east"},
      {type = "railgun_s", x = 4, y = 0, rotation = "east"},
      {type = "armor_plates", x = 0, y = 1, rotation = "east"},
      {type = "sensor_booster", x = 3, y = 1, rotation = "east"},
    ]

  [[arena.team]]
  name = "Dreadnought"
    [[arena.team.ship]]
    schematic = "dreadnought"
    count = 1
    modules = [
      {type = "railgun_l", x = 0, y = 1, rotation = "east"},
      {type = "railgun_l", x = 4, y = 1, rotation = "east"},
      {type = "railgun_l", x = 8, y = 1, rotation = "east"},
      {type = "armor_plates", x = 3, y = 0, rotation = "east"},
      {type = "armor_plates", x = 5, y = 0, rotation = "east"},
      {type = "armor_plates", x = 2, y = 4, rotation = "east"},
      {type = "armor_plates", x = 7, y = 4, rotation = "east"},
      {type = "railgun_s", x = 7, y = 0, rotation = "east"},
    ]

[[arena]]
name = "Cruisers vs carrier (1401 vs 1437, carrier expected to lose)"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Cruisers"
    [[arena.team.ship]]
    schematic = "cruiser"
    count = 6
    modules = [
      {type = "railgun_m", x = 0, y = 1, rotation = "east"},
      {type = "railgun_m", x = 2, y = 1, rotation = "east"},
      {type = "armor_plates", x = 1, y = 0, rotation = "east"},
      {type = "maneuvering_thrusters", x = 1, y = 3, rotation = "east"},
    ]

  [[arena.team]]
  name = "Carrier"
    [[arena.team.ship]]
    schematic = "carrier"
    count = 1
    modules = [
      {type = "drone_hangar", x = 2, y = 0, rotation = "east"},
      {type = "railgun_m", x = 3, y = 2, rotation = "east"},
      {type = "railgun_m", x = 6, y = 2, rotation = "east"},
      {type = "armor_plates", x = 0, y = 1, rotation = "east"},
      {type = "armor_plates", x = 8, y = 1, rotation = "east"},
      {type = "sensor_booster", x = 3, y = 4, rotation = "east"},
    ]

[[arena]]
name = "Mixed mid vs battlecruisers (1394 vs 1418)"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Mixed"
    [[arena.team.ship]]
    schematic = "destroyer"
    count = 7
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 0, rotation = "east"},
      {type = "railgun_s", x = 4, y = 0, rotation = "east"},
      {type = "armor_plates", x = 0, y = 1, rotation = "east"},
      {type = "sensor_booster", x = 3, y = 1, rotation = "east"},
    ]
    [[arena.team.ship]]
    schematic = "cruiser"
    count = 3
    modules = [
      {type = "railgun_m", x = 0, y = 1, rotation = "east"},
      {type = "railgun_m", x = 2, y = 1, rotation = "east"},
      {type = "armor_plates", x = 1, y = 0, rotation = "east"},
      {type = "maneuvering_thrusters", x = 1, y = 3, rotation = "east"},
    ]

  [[arena.team]]
  name = "Battlecruisers"
    [[arena.team.ship]]
    schematic = "battlecruiser"
    count = 4
    modules = [
      {type = "railgun_m", x = 0, y = 0, rotation = "east"},
      {type = "railgun_m", x = 4, y = 0, rotation = "east"},
      {type = "railgun_m", x = 2, y = 1, rotation = "east"},
      {type = "armor_plates", x = 2, y = 3, rotation = "east"},
      {type = "railgun_s", x = 1, y = 2, rotation = "east"},
      {type = "railgun_s", x = 4, y = 2, rotation = "east"},
    ]

# --- asymmetric checks ---

[[arena]]
name = "Two to one (must be decisive)"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Six"
    [[arena.team.ship]]
    schematic = "frigate"
    count = 6
    modules = [
      {type = "railgun_s", x = 1, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 1, rotation = "east"},
      {type = "maneuvering_thrusters", x = 0, y = 1, rotation = "east"},
    ]

  [[arena.team]]
  name = "Three"
    [[arena.team.ship]]
    schematic = "frigate"
    count = 3
    modules = [
      {type = "railgun_s", x = 1, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 1, rotation = "east"},
      {type = "maneuvering_thrusters", x = 0, y = 1, rotation = "east"},
    ]

[[arena]]
name = "Armored vs glass destroyers (1188 vs 1196)"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Armored"
    [[arena.team.ship]]
    schematic = "destroyer"
    count = 12
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 0, rotation = "east"},
      {type = "railgun_s", x = 4, y = 0, rotation = "east"},
      {type = "armor_plates", x = 0, y = 1, rotation = "east"},
      {type = "sensor_booster", x = 3, y = 1, rotation = "east"},
    ]

  [[arena.team]]
  name = "Glass"
    [[arena.team.ship]]
    schematic = "destroyer"
    count = 13
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 0, rotation = "east"},
      {type = "railgun_s", x = 4, y = 0, rotation = "east"},
      {type = "railgun_s", x = 0, y = 1, rotation = "east"},
      {type = "railgun_s", x = 1, y = 1, rotation = "east"},
      {type = "railgun_s", x = 2, y = 1, rotation = "east"},
      {type = "railgun_s", x = 3, y = 1, rotation = "east"},
      {type = "railgun_s", x = 4, y = 1, rotation = "east"},
    ]

[[arena]]
name = "Repair escort vs raw numbers (444 vs 444)"
height_tiles = 10
player_buffer_width_tiles = 10
contest_zone_width_tiles = 50
enemy_buffer_width_tiles = 10

  [[arena.team]]
  name = "Escorted"
    [[arena.team.ship]]
    schematic = "frigate"
    count = 8
    modules = [
      {type = "railgun_s", x = 1, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 1, rotation = "east"},
      {type = "maneuvering_thrusters", x = 0, y = 1, rotation = "east"},
    ]
    [[arena.team.ship]]
    schematic = "drone"
    count = 4
    modules = [
      {type = "repair_tool", x = 0, y = 0, rotation = "east"},
    ]

  [[arena.team]]
  name = "Raw"
    [[arena.team.ship]]
    schematic = "frigate"
    count = 9
    modules = [
      {type = "railgun_s", x = 1, y = 0, rotation = "east"},
      {type = "railgun_s", x = 2, y = 1, rotation = "east"},
      {type = "maneuvering_thrusters", x = 0, y = 1, rotation = "east"},
    ]
    [[arena.team.ship]]
    schematic = "drone"
    count = 2
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
    ]

[[arena]]
name = "Station assault (2 stations + 105 vs 315)"
height_tiles = 10
player_buffer_width_tiles = 15
contest_zone_width_tiles = 40
enemy_buffer_width_tiles = 15

  [[arena.team]]
  name = "Fortified"
    [[arena.team.ship]]
    schematic = "drone"
    count = 10
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
    ]
    [[arena.team.station]]
    type = "player_station"
    x = 8
    y = 15
    level = 1
    [[arena.team.station]]
    type = "player_station"
    x = 8
    y = 45
    level = 1

  [[arena.team]]
  name = "Swarm"
    [[arena.team.ship]]
    schematic = "drone"
    count = 30
    modules = [
      {type = "railgun_s", x = 0, y = 0, rotation = "east"},
    ]
