{
  "version": "1.0.0",
  "registryVersion": "arcade-abilities.v1",
  "description": "Fictional cell-unit toy study. No territory game, real weapon model or operational performance claims.",
  "defaults": {
    "classId": "scout",
    "equipmentId": "radio"
  },
  "equipment": [
    {
      "id": "radio",
      "label": "Radio link",
      "budgetCapacity": 0,
      "costPerCell": 0,
      "ignoreHaze": false,
      "blockWhenEmpty": false
    },
    {
      "id": "fiber",
      "label": "Fiber link",
      "budgetCapacity": 36,
      "costPerCell": 1,
      "ignoreHaze": true,
      "blockWhenEmpty": true
    }
  ],
  "classes": [
    {
      "id": "scout",
      "label": "Scout",
      "primitive": "pulse",
      "description": "Pulse reveals nearby question-mark notes for a few seconds.",
      "tuning": {
        "outcome": "scan",
        "cooldown": 1.5,
        "capacity": 0,
        "initial": 0,
        "cost": 0,
        "radius": 4,
        "duration": 4
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "scout-quad",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    },
    {
      "id": "light-bomber",
      "label": "Light bomber",
      "primitive": "drop",
      "description": "Pick up one charge at a supply pad; drop an abstract clearing pulse near ground toys.",
      "tuning": {
        "outcome": "clear",
        "cooldown": 0.8,
        "capacity": 1,
        "initial": 0,
        "cost": 1,
        "radius": 2,
        "duration": 0.6
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "fpv-body",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    },
    {
      "id": "heavy-carrier",
      "label": "Heavy carrier",
      "primitive": "drop",
      "description": "Carry two charges from the same supply pad; each action uses one.",
      "tuning": {
        "outcome": "clear",
        "cooldown": 1.1,
        "capacity": 2,
        "initial": 0,
        "cost": 1,
        "radius": 2.5,
        "duration": 0.8
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "heavy-lift",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    },
    {
      "id": "fiber-courier",
      "label": "Fiber courier",
      "primitive": "pulse",
      "description": "A scan courier preset. Choose the recommended fiber link to test a refillable spool budget.",
      "tuning": {
        "outcome": "scan",
        "cooldown": 1.6,
        "capacity": 0,
        "initial": 0,
        "cost": 0,
        "radius": 3.5,
        "duration": 4
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "fiber",
      "preferredBodies": {
        "fpv-front": "fpv-racer",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    },
    {
      "id": "fixedwing-courier",
      "label": "Fixed-wing courier",
      "primitive": "drop",
      "description": "Pick up a parcel and drop it near the delivery marker. Wake is visual; controls stay cardinal.",
      "tuning": {
        "outcome": "deliver",
        "cooldown": 0.8,
        "capacity": 1,
        "initial": 0,
        "cost": 1,
        "radius": 2,
        "duration": 0.7
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "fixedwing-body",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      },
      "visualWake": {
        "spacing": 0.2,
        "duration": 0.7
      }
    },
    {
      "id": "strike",
      "label": "Strike dash",
      "primitive": "dash",
      "description": "Spend one charge on a cardinal dash. Tagging a ground toy returns you to the stage start.",
      "tuning": {
        "outcome": "clear",
        "cooldown": 1,
        "capacity": 1,
        "initial": 1,
        "cost": 1,
        "radius": 0.5,
        "range": 4,
        "duration": 0.55,
        "resetOnHit": true
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "fpv-body",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    },
    {
      "id": "interceptor",
      "label": "Interceptor",
      "primitive": "dash",
      "description": "A short cardinal dash tags airborne toys only; body-facing animation does not aim it.",
      "tuning": {
        "outcome": "disable",
        "cooldown": 1,
        "capacity": 3,
        "initial": 3,
        "cost": 1,
        "radius": 0.6,
        "range": 4,
        "duration": 0.5,
        "resetOnHit": false
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "delta-interceptor",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    },
    {
      "id": "repeater",
      "label": "Pulse emitter",
      "primitive": "projectile",
      "description": "Each press emits one abstract dot. Limited charges; no auto-fire on hold.",
      "tuning": {
        "outcome": "clear",
        "cooldown": 0.22,
        "capacity": 8,
        "initial": 8,
        "cost": 1,
        "radius": 0.3,
        "range": 9,
        "speed": 12,
        "duration": 0.75
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "scout-quad",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    },
    {
      "id": "net-catcher",
      "label": "Net catcher",
      "primitive": "net",
      "description": "Place a temporary net field. Air toys move slowly inside, then become collected.",
      "tuning": {
        "outcome": "capture",
        "cooldown": 1.2,
        "capacity": 2,
        "initial": 2,
        "cost": 1,
        "radius": 2,
        "duration": 4,
        "range": 1.5,
        "slowFactor": 0.25,
        "captureSeconds": 1
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "delta-interceptor",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    },
    {
      "id": "relay",
      "label": "Relay helper",
      "primitive": "pulse",
      "description": "Pulse near a relay marker to restore it.",
      "tuning": {
        "outcome": "restore",
        "cooldown": 1.5,
        "capacity": 0,
        "initial": 0,
        "cost": 0,
        "radius": 4,
        "duration": 1
      },
      "compatibleEquipment": [
        "radio",
        "fiber"
      ],
      "recommendedEquipment": "radio",
      "preferredBodies": {
        "fpv-front": "scout-quad",
        "ukraine-atlas": "ukrainian-bird",
        "retro-1994": "retro-craft"
      }
    }
  ],
  "stage": {
    "supplyPads": [
      {
        "id": "supply-a",
        "x": 6.5,
        "y": 6.5,
        "radius": 2.2
      },
      {
        "id": "supply-b",
        "x": 39.5,
        "y": 28.5,
        "radius": 2.2
      }
    ],
    "haze": [
      {
        "x": 20,
        "y": 5,
        "width": 8,
        "height": 7,
        "displaySignal": 0.4
      }
    ],
    "targets": [
      {
        "id": "note-a",
        "kind": "note",
        "label": "Route note",
        "x": 8.5,
        "y": 8.5
      },
      {
        "id": "tile-a",
        "kind": "ground",
        "label": "Tile A",
        "x": 10.5,
        "y": 6.5
      },
      {
        "id": "tile-b",
        "kind": "ground",
        "label": "Tile B",
        "x": 12.5,
        "y": 14.5
      },
      {
        "id": "air-a",
        "kind": "air",
        "label": "Air A",
        "x": 15.5,
        "y": 8.5,
        "speed": 0.8,
        "minX": 12.5,
        "maxX": 19.5
      },
      {
        "id": "air-b",
        "kind": "air",
        "label": "Air B",
        "x": 27.5,
        "y": 22.5,
        "speed": 0.65,
        "minX": 24.5,
        "maxX": 32.5
      },
      {
        "id": "delivery-a",
        "kind": "delivery",
        "label": "Parcel zone",
        "x": 17.5,
        "y": 26.5
      },
      {
        "id": "relay-a",
        "kind": "relay",
        "label": "Relay marker",
        "x": 29.5,
        "y": 10.5
      },
      {
        "id": "note-b",
        "kind": "note",
        "label": "Archive note",
        "x": 33.5,
        "y": 25.5
      }
    ]
  },
  "vocabulary": {
    "fpv-front": {
      "classLabels": {
        "scout": "Scout",
        "light-bomber": "Light bomber",
        "heavy-carrier": "Heavy carrier",
        "fiber-courier": "Fiber courier",
        "fixedwing-courier": "Fixed-wing courier",
        "strike": "Strike dash",
        "interceptor": "Interceptor",
        "repeater": "Pulse emitter",
        "net-catcher": "Net catcher",
        "relay": "Relay helper"
      },
      "equipmentLabels": {
        "radio": "Radio link",
        "fiber": "Fiber link"
      },
      "supplyLabel": "Supply pad",
      "hazeLabel": "Synthetic radio haze",
      "budgetLabel": "Spool budget"
    },
    "ukraine-atlas": {
      "classLabels": {
        "scout": "Herald bird",
        "light-bomber": "Seed carrier",
        "heavy-carrier": "Harvest basket",
        "fiber-courier": "Thread courier",
        "fixedwing-courier": "Wind courier",
        "strike": "Spark runner",
        "interceptor": "Sky keeper",
        "repeater": "Light sower",
        "net-catcher": "Woven net",
        "relay": "Beacon keeper"
      },
      "equipmentLabels": {
        "radio": "Radio link",
        "fiber": "Fiber link"
      },
      "supplyLabel": "Supply pad",
      "hazeLabel": "Synthetic signal haze",
      "budgetLabel": "Spool budget"
    },
    "retro-1994": {
      "classLabels": {
        "scout": "Scan unit",
        "light-bomber": "Bit courier",
        "heavy-carrier": "Cargo module",
        "fiber-courier": "Cable runner",
        "fixedwing-courier": "Vector glider",
        "strike": "Burst runner",
        "interceptor": "Orbit chaser",
        "repeater": "Pixel emitter",
        "net-catcher": "Glitch net",
        "relay": "Relay unit"
      },
      "equipmentLabels": {
        "radio": "Radio link",
        "fiber": "Fiber link"
      },
      "supplyLabel": "Supply pad",
      "hazeLabel": "Synthetic signal haze",
      "budgetLabel": "Spool budget"
    }
  }
}
