{
  "version": 1,
  "updated": "2026-09-06",
  "note": "Live stats come from the game. Concept silhouettes and motions are design studies.",
  "profiles": {
    "commander": [
      {
        "id": "commander/0",
        "faction": "commander",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 0
        },
        "building": "Vanguard barracks",
        "name": "Footman",
        "role": "soldier",
        "status": "playable",
        "summary": "Footman. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "140 gold · 15s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 24,
          "range": 2,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "24 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Footman. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "commander/1",
        "faction": "commander",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 0
        },
        "building": "Ranger lodge",
        "name": "Longbow ranger",
        "role": "archer",
        "status": "playable",
        "summary": "Longbow ranger. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "165 gold · 17s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 115,
          "damage": 24,
          "range": 12,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "24 base damage every 1.2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Longbow ranger. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "commander/2",
        "faction": "commander",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 0
        },
        "building": "Iron bastion",
        "name": "Iron guard",
        "role": "knight",
        "status": "playable",
        "summary": "Iron guard. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "260 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 480,
          "damage": 35,
          "range": 2.5,
          "speed": 7.2,
          "armor": 35,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "35 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Iron guard. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "commander/3",
        "faction": "commander",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 0
        },
        "building": "Banner hall",
        "name": "Standard bearer",
        "role": "soldier",
        "status": "playable",
        "summary": "Standard bearer. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "220 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 24,
          "range": 2,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "24 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Standard bearer. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "commander/4",
        "faction": "commander",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 0
        },
        "building": "Field hospital",
        "name": "Battle medic",
        "role": "mage",
        "status": "playable",
        "summary": "Battle medic. Heals the most wounded nearby ally for 35 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 10,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "10 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Battle medic. Heals the most wounded nearby ally for 35 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "commander/5",
        "faction": "commander",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 0
        },
        "building": "Siege foundry",
        "name": "Trebuchet",
        "role": "siege",
        "status": "playable",
        "summary": "Trebuchet. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "320 gold · 28s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 300,
          "damage": 65,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "65 base damage every 2.6s at 17 range. 2.8× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Trebuchet. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "commander/6",
        "faction": "commander",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 0
        },
        "building": "Oath chapel",
        "name": "Oathbreaker",
        "role": "mage",
        "status": "playable",
        "summary": "Oathbreaker. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "290 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 35,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "35 base damage every 1.6s at 10 range. Splash radius 2.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Oathbreaker. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "commander/7",
        "faction": "commander",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 0
        },
        "building": "Lion watch",
        "name": "Lion watch",
        "role": "tower",
        "status": "playable",
        "summary": "Defensive tower. Fights automatically down the bridge.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "210 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 1350,
          "damage": 48,
          "range": 23
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "48 damage at 23 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Defensive tower. Fights automatically down the bridge."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "warden": [
      {
        "id": "warden/0",
        "faction": "warden",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 1
        },
        "building": "Moon den",
        "name": "Briar wolf",
        "role": "soldier",
        "status": "playable",
        "summary": "Briar wolf. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "140 gold · 15s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 24,
          "range": 2,
          "speed": 11,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "24 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Briar wolf. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "warden/1",
        "faction": "warden",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 1
        },
        "building": "Hunter lodge",
        "name": "Grove hunter",
        "role": "archer",
        "status": "playable",
        "summary": "Grove hunter. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "165 gold · 17s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 115,
          "damage": 24,
          "range": 12,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "24 base damage every 1.2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Grove hunter. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "warden/2",
        "faction": "warden",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 1
        },
        "building": "Elder nursery",
        "name": "Ancient treant",
        "role": "knight",
        "status": "playable",
        "summary": "Ancient treant. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "260 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 520,
          "damage": 35,
          "range": 2.5,
          "speed": 6.8,
          "armor": 35,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "35 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Ancient treant. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "warden/3",
        "faction": "warden",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 1
        },
        "building": "Spring shrine",
        "name": "Spring keeper",
        "role": "mage",
        "status": "playable",
        "summary": "Spring keeper. Heals the most wounded nearby ally for 45 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "220 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 8,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Spring keeper. Heals the most wounded nearby ally for 45 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "warden/4",
        "faction": "warden",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 1
        },
        "building": "Briar garden",
        "name": "Root caller",
        "role": "mage",
        "status": "playable",
        "summary": "Root caller. Attacks apply root for 0.6s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 35,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "35 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Root caller. Attacks apply root for 0.6s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "warden/5",
        "faction": "warden",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 1
        },
        "building": "Wild lodge",
        "name": "Wild spirit",
        "role": "soldier",
        "status": "playable",
        "summary": "Wild spirit. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "320 gold · 28s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 24,
          "range": 2,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "24 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Wild spirit. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "warden/6",
        "faction": "warden",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 1
        },
        "building": "Spore grove",
        "name": "Spore giant",
        "role": "siege",
        "status": "playable",
        "summary": "Spore giant. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "290 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 300,
          "damage": 65,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "65 base damage every 2.6s at 17 range. Splash radius 5. 2.8× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Spore giant. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "warden/7",
        "faction": "warden",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 1
        },
        "building": "Thorn sentinel",
        "name": "Thorn sentinel",
        "role": "tower",
        "status": "playable",
        "summary": "Defensive tower. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "210 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 1350,
          "damage": 38,
          "range": 23
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "38 damage at 23 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Defensive tower. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "stormcaller": [
      {
        "id": "stormcaller/0",
        "faction": "stormcaller",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 2
        },
        "building": "Storm garrison",
        "name": "Storm guard",
        "role": "soldier",
        "status": "playable",
        "summary": "Storm guard. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "140 gold · 15s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 24,
          "range": 2,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "24 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Storm guard. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "stormcaller/1",
        "faction": "stormcaller",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 2
        },
        "building": "Bolt academy",
        "name": "Bolt ranger",
        "role": "archer",
        "status": "playable",
        "summary": "Bolt ranger. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "165 gold · 17s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 115,
          "damage": 30,
          "range": 12,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "30 base damage every 1.2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Bolt ranger. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "stormcaller/2",
        "faction": "stormcaller",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 2
        },
        "building": "Arcane sanctum",
        "name": "Arcanist",
        "role": "mage",
        "status": "playable",
        "summary": "Arcanist. Fights automatically down the bridge.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "260 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 35,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "35 base damage every 1.6s at 10 range. Splash radius 5.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Arcanist. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "stormcaller/3",
        "faction": "stormcaller",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 2
        },
        "building": "Conductor hall",
        "name": "Conductor",
        "role": "soldier",
        "status": "playable",
        "summary": "Conductor. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "220 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 24,
          "range": 2,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "24 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Conductor. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "stormcaller/4",
        "faction": "stormcaller",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 2
        },
        "building": "Frost observatory",
        "name": "Frost adept",
        "role": "mage",
        "status": "playable",
        "summary": "Frost adept. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 35,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "35 base damage every 1.6s at 10 range. Splash radius 4.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Frost adept. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "stormcaller/5",
        "faction": "stormcaller",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 2
        },
        "building": "Thunder foundry",
        "name": "Thunder engine",
        "role": "siege",
        "status": "playable",
        "summary": "Thunder engine. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "320 gold · 28s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 300,
          "damage": 65,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "65 base damage every 2.6s at 17 range. 2.8× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Thunder engine. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "stormcaller/6",
        "faction": "stormcaller",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 2
        },
        "building": "Tempest vault",
        "name": "Storm colossus",
        "role": "knight",
        "status": "playable",
        "summary": "Storm colossus. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "290 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 480,
          "damage": 35,
          "range": 2.5,
          "speed": 7.2,
          "armor": 35,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "35 base damage every 1.3s at 2.5 range. Splash radius 3.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Storm colossus. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "stormcaller/7",
        "faction": "stormcaller",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 2
        },
        "building": "Tesla spire",
        "name": "Tesla spire",
        "role": "tower",
        "status": "playable",
        "summary": "Defensive tower. Fights automatically down the bridge.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "210 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 1350,
          "damage": 42,
          "range": 23
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "42 damage at 23 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Defensive tower. Fights automatically down the bridge."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "necromancer": [
      {
        "id": "necromancer/0",
        "faction": "necromancer",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 3
        },
        "building": "Bone crypt",
        "name": "Bone warrior",
        "role": "skeleton",
        "status": "playable",
        "summary": "Bone warrior. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "140 gold · 15s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 140,
          "damage": 20,
          "range": 2,
          "speed": 9,
          "armor": 0,
          "attackInterval": 0.9
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "20 base damage every 0.9s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Bone warrior. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "necromancer/1",
        "faction": "necromancer",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 3
        },
        "building": "Revenant lodge",
        "name": "Revenant",
        "role": "archer",
        "status": "playable",
        "summary": "Revenant. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "165 gold · 17s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 115,
          "damage": 24,
          "range": 12,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "24 base damage every 1.2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Revenant. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "necromancer/2",
        "faction": "necromancer",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 3
        },
        "building": "Plague pit",
        "name": "Plague bearer",
        "role": "mage",
        "status": "playable",
        "summary": "Plague bearer. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "260 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 35,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "35 base damage every 1.6s at 10 range. Splash radius 4.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Plague bearer. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "necromancer/3",
        "faction": "necromancer",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 3
        },
        "building": "Soul well",
        "name": "Soul keeper",
        "role": "mage",
        "status": "playable",
        "summary": "Soul keeper. Heals the most wounded nearby ally for 32 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "220 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 12,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "12 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Soul keeper. Heals the most wounded nearby ally for 32 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "necromancer/4",
        "faction": "necromancer",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 3
        },
        "building": "Funeral hall",
        "name": "Death herald",
        "role": "skeleton",
        "status": "playable",
        "summary": "Death herald. Every 2s, grants nearby allies 60% damage reduction for 2.5s.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "230 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 20,
          "range": 2,
          "speed": 9,
          "armor": 0,
          "attackInterval": 0.9
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "20 base damage every 0.9s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Death herald. Every 2s, grants nearby allies 60% damage reduction for 2.5s."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "necromancer/5",
        "faction": "necromancer",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 3
        },
        "building": "Reaper forge",
        "name": "Bone thrower",
        "role": "siege",
        "status": "playable",
        "summary": "Bone thrower. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "320 gold · 28s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 300,
          "damage": 65,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "65 base damage every 2.6s at 17 range. 2.8× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Bone thrower. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "necromancer/6",
        "faction": "necromancer",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 3
        },
        "building": "Flesh laboratory",
        "name": "Abomination",
        "role": "knight",
        "status": "playable",
        "summary": "Abomination. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "290 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 650,
          "damage": 35,
          "range": 2.5,
          "speed": 7.2,
          "armor": 35,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "35 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Abomination. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "necromancer/7",
        "faction": "necromancer",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 3
        },
        "building": "Grave obelisk",
        "name": "Grave obelisk",
        "role": "tower",
        "status": "playable",
        "summary": "Defensive tower. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "210 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 1350,
          "damage": 40,
          "range": 23
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "40 damage at 23 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Defensive tower. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "rook": [
      {
        "id": "rook/0",
        "faction": "rook",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 4
        },
        "building": "Recruit bay",
        "name": "Line rifleman",
        "role": "archer",
        "status": "playable",
        "summary": "Line rifleman. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "150 gold · 17s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 150,
          "damage": 25,
          "range": 11,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "25 base damage every 1.2s at 11 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Line rifleman. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "rook/1",
        "faction": "rook",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 4
        },
        "building": "Breach pod",
        "name": "Shield breacher",
        "role": "soldier",
        "status": "playable",
        "summary": "Shield breacher. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "185 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 380,
          "damage": 22,
          "range": 2,
          "speed": 7.8,
          "armor": 28,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "22 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Shield breacher. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "rook/2",
        "faction": "rook",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 4
        },
        "building": "Marksman nest",
        "name": "Sharpshooter",
        "role": "archer",
        "status": "playable",
        "summary": "Sharpshooter. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "255 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 90,
          "damage": 48,
          "range": 18,
          "speed": 8,
          "armor": 0,
          "attackInterval": 2.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "48 base damage every 2.2s at 18 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Sharpshooter. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "rook/3",
        "faction": "rook",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 4
        },
        "building": "Medic station",
        "name": "Field medic",
        "role": "mage",
        "status": "playable",
        "summary": "Field medic. Heals the most wounded nearby ally for 28 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 130,
          "damage": 8,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Field medic. Heals the most wounded nearby ally for 28 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "rook/4",
        "faction": "rook",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 4
        },
        "building": "Drone hangar",
        "name": "Survey drone",
        "role": "archer",
        "status": "playable",
        "summary": "Survey drone. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "225 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 85,
          "damage": 14,
          "range": 12,
          "speed": 11,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "14 base damage every 1.2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Survey drone. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "rook/5",
        "faction": "rook",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 4
        },
        "building": "Exosuit depot",
        "name": "Bulwark exosuit",
        "role": "knight",
        "status": "playable",
        "summary": "Bulwark exosuit. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "315 gold · 30s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 540,
          "damage": 32,
          "range": 2.5,
          "speed": 6.5,
          "armor": 35,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "32 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Bulwark exosuit. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "rook/6",
        "faction": "rook",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 4
        },
        "building": "Artillery cradle",
        "name": "Mortar crawler",
        "role": "siege",
        "status": "playable",
        "summary": "Mortar crawler. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "340 gold · 32s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 300,
          "damage": 56,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "56 base damage every 2.6s at 17 range. Splash radius 3. 2.5× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Mortar crawler. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "rook/7",
        "faction": "rook",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 4
        },
        "building": "Signal bunker",
        "name": "Signal bunker",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "220 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 900,
          "damage": 0,
          "range": 23
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "rally",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Support structure. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "veyra": [
      {
        "id": "veyra/0",
        "faction": "veyra",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 5
        },
        "building": "Novitiate dock",
        "name": "Power initiate",
        "role": "soldier",
        "status": "playable",
        "summary": "Power initiate. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "165 gold · 19s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 265,
          "damage": 29,
          "range": 2,
          "speed": 7.5,
          "armor": 20,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "29 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Power initiate. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "veyra/1",
        "faction": "veyra",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 5
        },
        "building": "Pilum chapel",
        "name": "Lance crusader",
        "role": "archer",
        "status": "playable",
        "summary": "Lance crusader. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "190 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 170,
          "damage": 34,
          "range": 12,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "34 base damage every 1.2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Lance crusader. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "veyra/2",
        "faction": "veyra",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 5
        },
        "building": "Aegis forge",
        "name": "Shield bearer",
        "role": "knight",
        "status": "playable",
        "summary": "Shield bearer. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "260 gold · 27s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 510,
          "damage": 26,
          "range": 2.5,
          "speed": 7.2,
          "armor": 36,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "26 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Shield bearer. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "veyra/3",
        "faction": "veyra",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 5
        },
        "building": "Choir vault",
        "name": "Resonance cantor",
        "role": "mage",
        "status": "playable",
        "summary": "Resonance cantor. Every 2s, grants nearby allies 25% damage reduction for 2.5s.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 155,
          "damage": 9,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "9 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Resonance cantor. Every 2s, grants nearby allies 25% damage reduction for 2.5s."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "veyra/4",
        "faction": "veyra",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 5
        },
        "building": "Grav foundry",
        "name": "Anchor walker",
        "role": "mage",
        "status": "playable",
        "summary": "Anchor walker. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "260 gold · 26s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 240,
          "damage": 26,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "26 base damage every 1.6s at 10 range. Splash radius 2.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Anchor walker. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "veyra/5",
        "faction": "veyra",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 5
        },
        "building": "Reliquary",
        "name": "Relic knight",
        "role": "knight",
        "status": "playable",
        "summary": "Relic knight. Attacks apply exposed for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "340 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 630,
          "damage": 49,
          "range": 2.5,
          "speed": 7.2,
          "armor": 26,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "49 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Relic knight. Attacks apply exposed for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "veyra/6",
        "faction": "veyra",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 5
        },
        "building": "Siege altar",
        "name": "Judgment engine",
        "role": "siege",
        "status": "playable",
        "summary": "Judgment engine. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "350 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 260,
          "damage": 74,
          "range": 17,
          "speed": 5.5,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "74 base damage every 2.6s at 17 range. 3× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Judgment engine. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "veyra/7",
        "faction": "veyra",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 5
        },
        "building": "Oath spire",
        "name": "Oath spire",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Every 2s, grants nearby allies 25% damage reduction for 2.5s.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 0,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "rally",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Support structure. Every 2s, grants nearby allies 25% damage reduction for 2.5s."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "morrow": [
      {
        "id": "morrow/0",
        "faction": "morrow",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 6
        },
        "building": "Morgue",
        "name": "Shambler",
        "role": "skeleton",
        "status": "playable",
        "summary": "Shambler. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "105 gold · 13s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 170,
          "damage": 24,
          "range": 2,
          "speed": 8,
          "armor": 0,
          "attackInterval": 0.9
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "24 base damage every 0.9s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Shambler. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "morrow/1",
        "faction": "morrow",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 6
        },
        "building": "Ossuary",
        "name": "Bone pikeman",
        "role": "soldier",
        "status": "playable",
        "summary": "Bone pikeman. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "165 gold · 18s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 205,
          "damage": 31,
          "range": 4,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "31 base damage every 1s at 4 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Bone pikeman. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "morrow/2",
        "faction": "morrow",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 6
        },
        "building": "Apothecary",
        "name": "Bile thrower",
        "role": "mage",
        "status": "playable",
        "summary": "Bile thrower. Attacks apply poison for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "195 gold · 21s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 120,
          "damage": 27,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "27 base damage every 1.6s at 10 range. Splash radius 2.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Bile thrower. Attacks apply poison for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "morrow/3",
        "faction": "morrow",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 6
        },
        "building": "Suture ward",
        "name": "Stitch nurse",
        "role": "mage",
        "status": "playable",
        "summary": "Stitch nurse. Heals the most wounded nearby ally for 30 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Stitch nurse. Heals the most wounded nearby ally for 30 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "morrow/4",
        "faction": "morrow",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 6
        },
        "building": "Graft theater",
        "name": "Grafted brute",
        "role": "knight",
        "status": "playable",
        "summary": "Grafted brute. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "275 gold · 29s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 560,
          "damage": 33,
          "range": 2.5,
          "speed": 7.2,
          "armor": 20,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "33 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Grafted brute. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "morrow/5",
        "faction": "morrow",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 6
        },
        "building": "Bell crypt",
        "name": "Mourning herald",
        "role": "mage",
        "status": "playable",
        "summary": "Mourning herald. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "245 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 165,
          "damage": 24,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "24 base damage every 1.6s at 10 range. Splash radius 3.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Mourning herald. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "morrow/6",
        "faction": "morrow",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 6
        },
        "building": "Plague kiln",
        "name": "Corpse lobber",
        "role": "siege",
        "status": "playable",
        "summary": "Corpse lobber. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "330 gold · 32s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 250,
          "damage": 61,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 3
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "61 base damage every 3s at 17 range. Splash radius 4. 2.5× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Corpse lobber. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "morrow/7",
        "faction": "morrow",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 6
        },
        "building": "Quarantine post",
        "name": "Quarantine post",
        "role": "tower",
        "status": "playable",
        "summary": "Defensive tower. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 12,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "12 damage at 14 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Defensive tower. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "xyrix": [
      {
        "id": "xyrix/0",
        "faction": "xyrix",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 7
        },
        "building": "Spawning pool",
        "name": "Razorling",
        "role": "soldier",
        "status": "playable",
        "summary": "Razorling. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "120 gold · 14s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 165,
          "damage": 28,
          "range": 2,
          "speed": 12,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "28 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Razorling. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "xyrix/1",
        "faction": "xyrix",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 7
        },
        "building": "Spine mound",
        "name": "Spine thrower",
        "role": "archer",
        "status": "playable",
        "summary": "Spine thrower. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "175 gold · 20s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 135,
          "damage": 33,
          "range": 12,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "33 base damage every 1.2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Spine thrower. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "xyrix/2",
        "faction": "xyrix",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 7
        },
        "building": "Chitin nest",
        "name": "Shellguard",
        "role": "knight",
        "status": "playable",
        "summary": "Shellguard. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "260 gold · 28s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 500,
          "damage": 30,
          "range": 2.5,
          "speed": 7.2,
          "armor": 33,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "30 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Shellguard. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "xyrix/3",
        "faction": "xyrix",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 7
        },
        "building": "Nutrient sac",
        "name": "Mender grub",
        "role": "mage",
        "status": "playable",
        "summary": "Mender grub. Heals the most wounded nearby ally for 26 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "215 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Mender grub. Heals the most wounded nearby ally for 26 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "xyrix/4",
        "faction": "xyrix",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 7
        },
        "building": "Synapse cyst",
        "name": "Mind stinger",
        "role": "mage",
        "status": "playable",
        "summary": "Mind stinger. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "240 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 140,
          "damage": 31,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "31 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Mind stinger. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "xyrix/5",
        "faction": "xyrix",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 7
        },
        "building": "Wing chamber",
        "name": "Skitter glider",
        "role": "archer",
        "status": "playable",
        "summary": "Skitter glider. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "220 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 100,
          "damage": 29,
          "range": 8,
          "speed": 13,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "29 base damage every 1.2s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Skitter glider. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "xyrix/6",
        "faction": "xyrix",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 7
        },
        "building": "Acid stomach",
        "name": "Bile siege beast",
        "role": "siege",
        "status": "playable",
        "summary": "Bile siege beast. Attacks apply exposed for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "325 gold · 32s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 375,
          "damage": 56,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "56 base damage every 2.6s at 17 range. 3× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Bile siege beast. Attacks apply exposed for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "xyrix/7",
        "faction": "xyrix",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 7
        },
        "building": "Synapse node",
        "name": "Synapse node",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Every 2s, grants nearby allies 30% attack speed and 25% movement for 2.5s.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 0,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "rally",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Support structure. Every 2s, grants nearby allies 30% attack speed and 25% movement for 2.5s."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "thessa": [
      {
        "id": "thessa/0",
        "faction": "thessa",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 8
        },
        "building": "Worker chamber",
        "name": "Worker ant",
        "role": "skeleton",
        "status": "playable",
        "summary": "Worker ant. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "95 gold · 12s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 20,
          "range": 2,
          "speed": 11.2,
          "armor": 0,
          "attackInterval": 0.9
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "20 base damage every 0.9s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Worker ant. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "thessa/1",
        "faction": "thessa",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 8
        },
        "building": "Soldier chamber",
        "name": "Soldier ant",
        "role": "soldier",
        "status": "playable",
        "summary": "Soldier ant. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "145 gold · 16s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 175,
          "damage": 23,
          "range": 2,
          "speed": 9.4,
          "armor": 10,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "23 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Soldier ant. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "thessa/2",
        "faction": "thessa",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 8
        },
        "building": "Spitter chamber",
        "name": "Acid ant",
        "role": "mage",
        "status": "playable",
        "summary": "Acid ant. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "190 gold · 21s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 105,
          "damage": 24,
          "range": 9,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "24 base damage every 1.6s at 9 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Acid ant. Attacks apply curse for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "thessa/3",
        "faction": "thessa",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 8
        },
        "building": "Nursery",
        "name": "Nurse ant",
        "role": "mage",
        "status": "playable",
        "summary": "Nurse ant. Heals the most wounded nearby ally for 25 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "205 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 110,
          "damage": 6,
          "range": 10,
          "speed": 9,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "6 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Nurse ant. Heals the most wounded nearby ally for 25 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "thessa/4",
        "faction": "thessa",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 8
        },
        "building": "Major chamber",
        "name": "Major ant",
        "role": "knight",
        "status": "playable",
        "summary": "Major ant. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "255 gold · 28s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 550,
          "damage": 34,
          "range": 2.5,
          "speed": 7.5,
          "armor": 30,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "34 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Major ant. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "thessa/5",
        "faction": "thessa",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 8
        },
        "building": "Wing nursery",
        "name": "Alate scout",
        "role": "archer",
        "status": "playable",
        "summary": "Alate scout. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "185 gold · 20s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 80,
          "damage": 20,
          "range": 8,
          "speed": 12.5,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "20 base damage every 1.2s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Alate scout. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "thessa/6",
        "faction": "thessa",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 8
        },
        "building": "Resin foundry",
        "name": "Siege beetle ally",
        "role": "siege",
        "status": "playable",
        "summary": "Siege beetle ally. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "300 gold · 31s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 390,
          "damage": 58,
          "range": 3,
          "speed": 7.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "58 base damage every 2.6s at 3 range. 3× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Siege beetle ally. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "thessa/7",
        "faction": "thessa",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 8
        },
        "building": "Pheromone mound",
        "name": "Pheromone mound",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "200 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 800,
          "damage": 0,
          "range": 23
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "rally",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Support structure. Every 2s, grants nearby allies 45% damage and 25% movement for 2.5s."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "elowen": [
      {
        "id": "elowen/0",
        "faction": "elowen",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 9
        },
        "building": "Fletcher grove",
        "name": "Bough archer",
        "role": "archer",
        "status": "playable",
        "summary": "Bough archer. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "155 gold · 18s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 130,
          "damage": 31,
          "range": 14,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "31 base damage every 1.2s at 14 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Bough archer. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "elowen/1",
        "faction": "elowen",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 9
        },
        "building": "Thorn lodge",
        "name": "Thorn sentinel",
        "role": "soldier",
        "status": "playable",
        "summary": "Thorn sentinel. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "175 gold · 20s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 230,
          "damage": 29,
          "range": 4,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "29 base damage every 1s at 4 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Thorn sentinel. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "elowen/2",
        "faction": "elowen",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 9
        },
        "building": "Moon shrine",
        "name": "Moon seer",
        "role": "mage",
        "status": "playable",
        "summary": "Moon seer. Fights automatically down the bridge.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "245 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 40,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "40 base damage every 1.6s at 10 range. Splash radius 2.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Moon seer. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "elowen/3",
        "faction": "elowen",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 9
        },
        "building": "Spring glade",
        "name": "Spring tender",
        "role": "mage",
        "status": "playable",
        "summary": "Spring tender. Heals the most wounded nearby ally for 32 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "240 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Spring tender. Heals the most wounded nearby ally for 32 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "elowen/4",
        "faction": "elowen",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 9
        },
        "building": "Stag hall",
        "name": "Stag rider",
        "role": "soldier",
        "status": "playable",
        "summary": "Stag rider. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "245 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 280,
          "damage": 35,
          "range": 2,
          "speed": 12,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "35 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Stag rider. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "elowen/5",
        "faction": "elowen",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 9
        },
        "building": "Ancient nursery",
        "name": "Bark guardian",
        "role": "knight",
        "status": "playable",
        "summary": "Bark guardian. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "315 gold · 32s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 570,
          "damage": 30,
          "range": 2.5,
          "speed": 5.8,
          "armor": 30,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "30 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Bark guardian. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "elowen/6",
        "faction": "elowen",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 9
        },
        "building": "Star platform",
        "name": "Star ballista",
        "role": "siege",
        "status": "playable",
        "summary": "Star ballista. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "340 gold · 33s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 230,
          "damage": 65,
          "range": 21,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "65 base damage every 2.6s at 21 range. 3× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Star ballista. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "elowen/7",
        "faction": "elowen",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 9
        },
        "building": "Ward tree",
        "name": "Ward tree",
        "role": "tower",
        "status": "playable",
        "summary": "Defensive tower. Attacks apply root for 0.6s; troop control affects heroes at 20% duration.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 26,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "26 damage at 14 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Defensive tower. Attacks apply root for 0.6s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "brann": [
      {
        "id": "brann/0",
        "faction": "brann",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 10
        },
        "building": "Clan hall",
        "name": "Axe clansman",
        "role": "soldier",
        "status": "playable",
        "summary": "Axe clansman. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "155 gold · 18s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 240,
          "damage": 27,
          "range": 2,
          "speed": 7.3,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "27 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Axe clansman. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "brann/1",
        "faction": "brann",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 10
        },
        "building": "Gunnery",
        "name": "Thunder gunner",
        "role": "archer",
        "status": "playable",
        "summary": "Thunder gunner. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "190 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 155,
          "damage": 39,
          "range": 11,
          "speed": 7,
          "armor": 0,
          "attackInterval": 1.9
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "39 base damage every 1.9s at 11 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Thunder gunner. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "brann/2",
        "faction": "brann",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 10
        },
        "building": "Shield forge",
        "name": "Ironbreaker",
        "role": "knight",
        "status": "playable",
        "summary": "Ironbreaker. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "280 gold · 29s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 590,
          "damage": 38,
          "range": 2.5,
          "speed": 6.4,
          "armor": 38,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "38 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Ironbreaker. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "brann/3",
        "faction": "brann",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 10
        },
        "building": "Repair shed",
        "name": "Gear tender",
        "role": "mage",
        "status": "playable",
        "summary": "Gear tender. Heals the most wounded nearby ally for 34 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "240 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 10,
          "speed": 7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Gear tender. Heals the most wounded nearby ally for 34 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "brann/4",
        "faction": "brann",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 10
        },
        "building": "Steam stable",
        "name": "Ram engine",
        "role": "soldier",
        "status": "playable",
        "summary": "Ram engine. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "245 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 330,
          "damage": 27,
          "range": 2,
          "speed": 8,
          "armor": 20,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "27 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Ram engine. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "brann/5",
        "faction": "brann",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 10
        },
        "building": "Rune forge",
        "name": "Rune golem",
        "role": "knight",
        "status": "playable",
        "summary": "Rune golem. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "340 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 680,
          "damage": 34,
          "range": 2.5,
          "speed": 5.8,
          "armor": 30,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "34 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Rune golem. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "brann/6",
        "faction": "brann",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 10
        },
        "building": "Mortar works",
        "name": "Siege mortar",
        "role": "siege",
        "status": "playable",
        "summary": "Siege mortar. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "350 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 300,
          "damage": 60,
          "range": 19,
          "speed": 5.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "60 base damage every 2.6s at 19 range. Splash radius 4. 2.8× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Siege mortar. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "brann/7",
        "faction": "brann",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 10
        },
        "building": "Pressure valve",
        "name": "Pressure valve",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Heals the most wounded nearby ally for 36 every 2s; heroes receive 20%.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 1050,
          "damage": 0,
          "range": 23
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Support structure. Heals the most wounded nearby ally for 36 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      }
    ],
    "hroth": [
      {
        "id": "hroth/0",
        "faction": "hroth",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 11
        },
        "building": "Stone hearth",
        "name": "Hillkin",
        "role": "soldier",
        "status": "playable",
        "summary": "Hillkin. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "210 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 285,
          "damage": 33,
          "range": 2,
          "speed": 6.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "33 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Hillkin. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "hroth/1",
        "faction": "hroth",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 11
        },
        "building": "Ice shelf",
        "name": "Shard hurler",
        "role": "archer",
        "status": "playable",
        "summary": "Shard hurler. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "220 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 215,
          "damage": 40,
          "range": 12,
          "speed": 6.2,
          "armor": 0,
          "attackInterval": 2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "40 base damage every 2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Shard hurler. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "hroth/2",
        "faction": "hroth",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 11
        },
        "building": "Chain hall",
        "name": "Chain giant",
        "role": "knight",
        "status": "playable",
        "summary": "Chain giant. Basic hits pull targets up to 2 units; heroes receive 20%.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "270 gold · 28s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 440,
          "damage": 35,
          "range": 2.5,
          "speed": 6,
          "armor": 35,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "35 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Chain giant. Basic hits pull targets up to 2 units; heroes receive 20%."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "hroth/3",
        "faction": "hroth",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 11
        },
        "building": "Snow shrine",
        "name": "Frost shaman",
        "role": "mage",
        "status": "playable",
        "summary": "Frost shaman. Every 2s, grants nearby allies 25% damage reduction for 2.5s.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "235 gold · 25s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 170,
          "damage": 12,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "12 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Frost shaman. Every 2s, grants nearby allies 25% damage reduction for 2.5s."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "hroth/4",
        "faction": "hroth",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 11
        },
        "building": "Mammoth pen",
        "name": "Wool mammoth",
        "role": "knight",
        "status": "playable",
        "summary": "Wool mammoth. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "335 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 660,
          "damage": 40,
          "range": 2.5,
          "speed": 7,
          "armor": 18,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "40 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Wool mammoth. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "hroth/5",
        "faction": "hroth",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 11
        },
        "building": "Glacier cradle",
        "name": "Ice colossus",
        "role": "knight",
        "status": "playable",
        "summary": "Ice colossus. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "410 gold · 39s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 850,
          "damage": 45,
          "range": 2.5,
          "speed": 4.5,
          "armor": 32,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "45 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Ice colossus. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "hroth/6",
        "faction": "hroth",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 11
        },
        "building": "Boulder ramp",
        "name": "Siege giant",
        "role": "siege",
        "status": "playable",
        "summary": "Siege giant. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "360 gold · 35s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 430,
          "damage": 70,
          "range": 18,
          "speed": 5,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "70 base damage every 2.6s at 18 range. 2.7× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Siege giant. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "hroth/7",
        "faction": "hroth",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 11
        },
        "building": "Rime pillar",
        "name": "Rime pillar",
        "role": "tower",
        "status": "playable",
        "summary": "Defensive tower. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 20,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "20 damage at 14 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Defensive tower. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "kage": [
      {
        "id": "kage/0",
        "faction": "kage",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 12
        },
        "building": "Clan house",
        "name": "Veil runner",
        "role": "soldier",
        "status": "playable",
        "summary": "Veil runner. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "125 gold · 15s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 125,
          "damage": 29,
          "range": 2,
          "speed": 12.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "29 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Veil runner. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "kage/1",
        "faction": "kage",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 12
        },
        "building": "Needle school",
        "name": "Needle thrower",
        "role": "archer",
        "status": "playable",
        "summary": "Needle thrower. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "160 gold · 18s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 100,
          "damage": 34,
          "range": 10,
          "speed": 11,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "34 base damage every 1.2s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Needle thrower. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "kage/2",
        "faction": "kage",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 12
        },
        "building": "Hook dojo",
        "name": "Chain adept",
        "role": "soldier",
        "status": "playable",
        "summary": "Chain adept. Basic hits pull targets up to 1.5 units; heroes receive 20%.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "210 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 210,
          "damage": 33,
          "range": 4,
          "speed": 10,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "33 base damage every 1s at 4 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Chain adept. Basic hits pull targets up to 1.5 units; heroes receive 20%."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "kage/3",
        "faction": "kage",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 12
        },
        "building": "Herbalist hut",
        "name": "Mist healer",
        "role": "mage",
        "status": "playable",
        "summary": "Mist healer. Heals the most wounded nearby ally for 26 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "220 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Mist healer. Heals the most wounded nearby ally for 26 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "kage/4",
        "faction": "kage",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 12
        },
        "building": "Raven roost",
        "name": "Raven handler",
        "role": "archer",
        "status": "playable",
        "summary": "Raven handler. Attacks apply exposed for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "235 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 140,
          "damage": 34,
          "range": 13,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "34 base damage every 1.2s at 13 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Raven handler. Attacks apply exposed for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "kage/5",
        "faction": "kage",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 12
        },
        "building": "Shadow temple",
        "name": "Oath assassin",
        "role": "soldier",
        "status": "playable",
        "summary": "Oath assassin. Deals 30% extra damage to enemies without an ally within 6.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "310 gold · 29s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 300,
          "damage": 65,
          "range": 2,
          "speed": 12,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "65 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Oath assassin. Deals 30% extra damage to enemies without an ally within 6."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "kage/6",
        "faction": "kage",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 12
        },
        "building": "Powder store",
        "name": "Bomb carrier",
        "role": "siege",
        "status": "playable",
        "summary": "Bomb carrier. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "290 gold · 29s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 85,
          "range": 3,
          "speed": 11,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "85 base damage every 2.6s at 3 range. Splash radius 2. 3.2× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Bomb carrier. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "kage/7",
        "faction": "kage",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 12
        },
        "building": "Watch lantern",
        "name": "Watch lantern",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Destroys nearby enemy decoys within 16.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 0,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Support structure. Destroys nearby enemy decoys within 16."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "akari": [
      {
        "id": "akari/0",
        "faction": "akari",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 13
        },
        "building": "Ashigaru camp",
        "name": "Spear ashigaru",
        "role": "soldier",
        "status": "playable",
        "summary": "Spear ashigaru. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "135 gold · 16s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 190,
          "damage": 26,
          "range": 4,
          "speed": 8.5,
          "armor": 12,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "26 base damage every 1s at 4 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Spear ashigaru. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "akari/1",
        "faction": "akari",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 13
        },
        "building": "Yumi range",
        "name": "Yumi archer",
        "role": "archer",
        "status": "playable",
        "summary": "Yumi archer. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "170 gold · 19s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 130,
          "damage": 33,
          "range": 13,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "33 base damage every 1.2s at 13 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Yumi archer. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "akari/2",
        "faction": "akari",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 13
        },
        "building": "Sword dojo",
        "name": "Katana retainer",
        "role": "soldier",
        "status": "playable",
        "summary": "Katana retainer. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "220 gold · 22s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 230,
          "damage": 40,
          "range": 2,
          "speed": 10,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "40 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Katana retainer. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "akari/3",
        "faction": "akari",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 13
        },
        "building": "Tea shrine",
        "name": "Oath keeper",
        "role": "mage",
        "status": "playable",
        "summary": "Oath keeper. Every 2s, grants nearby allies 20% damage reduction and pull resistance for 2.5s.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 155,
          "damage": 10,
          "range": 10,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "10 base damage every 1.6s at 10 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Oath keeper. Every 2s, grants nearby allies 20% damage reduction and pull resistance for 2.5s."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "akari/4",
        "faction": "akari",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 13
        },
        "building": "Cavalry yard",
        "name": "Banner rider",
        "role": "soldier",
        "status": "playable",
        "summary": "Banner rider. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "255 gold · 26s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 310,
          "damage": 36,
          "range": 2,
          "speed": 12,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "36 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Banner rider. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "akari/5",
        "faction": "akari",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 13
        },
        "building": "Honor hall",
        "name": "Armored samurai",
        "role": "knight",
        "status": "playable",
        "summary": "Armored samurai. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "325 gold · 32s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 510,
          "damage": 51,
          "range": 2.5,
          "speed": 7.2,
          "armor": 28,
          "attackInterval": 1.5
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "51 base damage every 1.5s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Armored samurai. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "akari/6",
        "faction": "akari",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 13
        },
        "building": "Firework foundry",
        "name": "Rocket cart",
        "role": "siege",
        "status": "playable",
        "summary": "Rocket cart. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "320 gold · 31s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 225,
          "damage": 57,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "57 base damage every 2.6s at 17 range. Splash radius 4. 2.8× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Rocket cart. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "akari/7",
        "faction": "akari",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 13
        },
        "building": "Banner tower",
        "name": "Banner tower",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Every 2s, grants nearby allies 20% damage reduction and pull resistance for 2.5s.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 0,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "rally",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Support structure. Every 2s, grants nearby allies 20% damage reduction and pull resistance for 2.5s."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "nami": [
      {
        "id": "nami/0",
        "faction": "nami",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 14
        },
        "building": "Pearl barracks",
        "name": "Reef lancer",
        "role": "soldier",
        "status": "playable",
        "summary": "Reef lancer. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "150 gold · 18s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 225,
          "damage": 28,
          "range": 3.5,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "28 base damage every 1s at 3.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Reef lancer. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "nami/1",
        "faction": "nami",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 14
        },
        "building": "Coral range",
        "name": "Spine caster",
        "role": "archer",
        "status": "playable",
        "summary": "Spine caster. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "170 gold · 20s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 135,
          "damage": 32,
          "range": 12,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "32 base damage every 1.2s at 12 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Spine caster. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "nami/2",
        "faction": "nami",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 14
        },
        "building": "Shell keep",
        "name": "Crab sentinel",
        "role": "knight",
        "status": "playable",
        "summary": "Crab sentinel. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "280 gold · 29s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 460,
          "damage": 28,
          "range": 2.5,
          "speed": 6,
          "armor": 28,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "28 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Crab sentinel. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "nami/3",
        "faction": "nami",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 14
        },
        "building": "Tide shrine",
        "name": "Pearl mender",
        "role": "mage",
        "status": "playable",
        "summary": "Pearl mender. Heals the most wounded nearby ally for 31 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "235 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Pearl mender. Heals the most wounded nearby ally for 31 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "nami/4",
        "faction": "nami",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 14
        },
        "building": "Ray pool",
        "name": "Ray rider",
        "role": "archer",
        "status": "playable",
        "summary": "Ray rider. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "235 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 160,
          "damage": 30,
          "range": 9,
          "speed": 12,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "30 base damage every 1.2s at 9 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Ray rider. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "nami/5",
        "faction": "nami",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 14
        },
        "building": "Abyss gate",
        "name": "Deep guardian",
        "role": "knight",
        "status": "playable",
        "summary": "Deep guardian. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "335 gold · 33s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 600,
          "damage": 39,
          "range": 2.5,
          "speed": 7.2,
          "armor": 22,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "39 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Deep guardian. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "nami/6",
        "faction": "nami",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 14
        },
        "building": "Conch works",
        "name": "Shell bombard",
        "role": "siege",
        "status": "playable",
        "summary": "Shell bombard. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "335 gold · 33s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 260,
          "damage": 63,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "63 base damage every 2.6s at 17 range. Splash radius 3. 2.7× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Shell bombard. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "nami/7",
        "faction": "nami",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 14
        },
        "building": "Current pillar",
        "name": "Current pillar",
        "role": "tower",
        "status": "playable",
        "summary": "Defensive tower. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 10,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "10 damage at 14 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Defensive tower. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "sefu": [
      {
        "id": "sefu/0",
        "faction": "sefu",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 15
        },
        "building": "Lion den",
        "name": "Lion hunter",
        "role": "soldier",
        "status": "playable",
        "summary": "Lion hunter. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "150 gold · 17s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 195,
          "damage": 30,
          "range": 2,
          "speed": 11,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "30 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Lion hunter. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "sefu/1",
        "faction": "sefu",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 15
        },
        "building": "Hawk perch",
        "name": "War hawk",
        "role": "archer",
        "status": "playable",
        "summary": "War hawk. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "160 gold · 19s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 90,
          "damage": 29,
          "range": 9,
          "speed": 13,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "29 base damage every 1.2s at 9 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "War hawk. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "sefu/2",
        "faction": "sefu",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 15
        },
        "building": "Boar thicket",
        "name": "Tusk boar",
        "role": "soldier",
        "status": "playable",
        "summary": "Tusk boar. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "220 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 290,
          "damage": 35,
          "range": 2,
          "speed": 10,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "35 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Tusk boar. Attacks apply slow for 2.5s; troop control affects heroes at 20% duration. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "sefu/3",
        "faction": "sefu",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 15
        },
        "building": "Spring sanctuary",
        "name": "Crane keeper",
        "role": "mage",
        "status": "playable",
        "summary": "Crane keeper. Heals the most wounded nearby ally for 28 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "225 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Crane keeper. Heals the most wounded nearby ally for 28 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "sefu/4",
        "faction": "sefu",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 15
        },
        "building": "Rhino wallow",
        "name": "Ironhide rhino",
        "role": "knight",
        "status": "playable",
        "summary": "Ironhide rhino. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "295 gold · 30s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 565,
          "damage": 36,
          "range": 2.5,
          "speed": 7.2,
          "armor": 33,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "36 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Ironhide rhino. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "sefu/5",
        "faction": "sefu",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 15
        },
        "building": "Elephant grove",
        "name": "War elephant",
        "role": "knight",
        "status": "playable",
        "summary": "War elephant. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "385 gold · 37s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 760,
          "damage": 43,
          "range": 2.5,
          "speed": 5.8,
          "armor": 18,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "43 base damage every 1.3s at 2.5 range. Splash radius 2.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "War elephant. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "sefu/6",
        "faction": "sefu",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 15
        },
        "building": "Stoneback paddock",
        "name": "Siege tortoise",
        "role": "siege",
        "status": "playable",
        "summary": "Siege tortoise. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "335 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 455,
          "damage": 57,
          "range": 17,
          "speed": 4.5,
          "armor": 25,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "57 base damage every 2.6s at 17 range. 3× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Siege tortoise. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "sefu/7",
        "faction": "sefu",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 15
        },
        "building": "Sun totem",
        "name": "Sun totem",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Heals the most wounded nearby ally for 30 every 2s; heroes receive 20%.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 0,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Support structure. Heals the most wounded nearby ally for 30 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      }
    ],
    "ixara": [
      {
        "id": "ixara/0",
        "faction": "ixara",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 16
        },
        "building": "Spore bed",
        "name": "Myceling",
        "role": "skeleton",
        "status": "playable",
        "summary": "Myceling. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "110 gold · 14s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 180,
          "damage": 23,
          "range": 2,
          "speed": 8,
          "armor": 0,
          "attackInterval": 0.9
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "23 base damage every 0.9s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Myceling. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "ixara/1",
        "faction": "ixara",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 16
        },
        "building": "Cap grove",
        "name": "Spore lobber",
        "role": "mage",
        "status": "playable",
        "summary": "Spore lobber. Fights automatically down the bridge.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "190 gold · 21s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 29,
          "range": 11,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "29 base damage every 1.6s at 11 range. Splash radius 2.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Spore lobber. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "ixara/2",
        "faction": "ixara",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 16
        },
        "building": "Bark bed",
        "name": "Fungal sentinel",
        "role": "knight",
        "status": "playable",
        "summary": "Fungal sentinel. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "250 gold · 27s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 465,
          "damage": 29,
          "range": 2.5,
          "speed": 7.2,
          "armor": 26,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "29 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Fungal sentinel. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "ixara/3",
        "faction": "ixara",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 16
        },
        "building": "Glow garden",
        "name": "Glow tender",
        "role": "mage",
        "status": "playable",
        "summary": "Glow tender. Heals the most wounded nearby ally for 30 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Glow tender. Heals the most wounded nearby ally for 30 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "ixara/4",
        "faction": "ixara",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 16
        },
        "building": "Tendril pool",
        "name": "Tendril walker",
        "role": "soldier",
        "status": "playable",
        "summary": "Tendril walker. Attacks apply root for 0.6s; troop control affects heroes at 20% duration.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "245 gold · 24s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 240,
          "damage": 29,
          "range": 4,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "29 base damage every 1s at 4 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Disrupting attacks",
          "pattern": "root",
          "description": "Tendril walker. Attacks apply root for 0.6s; troop control affects heroes at 20% duration."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "ixara/5",
        "faction": "ixara",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 16
        },
        "building": "Ancient cap",
        "name": "Bloom titan",
        "role": "knight",
        "status": "playable",
        "summary": "Bloom titan. Regenerates 8 health/s.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "340 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 635,
          "damage": 35,
          "range": 2.5,
          "speed": 5.5,
          "armor": 20,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "35 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Bloom titan. Regenerates 8 health/s."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "ixara/6",
        "faction": "ixara",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 16
        },
        "building": "Puffball mound",
        "name": "Siege puffball",
        "role": "siege",
        "status": "playable",
        "summary": "Siege puffball. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "330 gold · 32s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 245,
          "damage": 66,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "66 base damage every 2.6s at 17 range. Splash radius 4. 2.7× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Siege puffball. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "ixara/7",
        "faction": "ixara",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 16
        },
        "building": "Root nexus",
        "name": "Root nexus",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Heals the most wounded nearby ally for 22 every 2s; heroes receive 20%.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 0,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Support structure. Heals the most wounded nearby ally for 22 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      }
    ],
    "khepri": [
      {
        "id": "khepri/0",
        "faction": "khepri",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 17
        },
        "building": "Burial chamber",
        "name": "Tomb guard",
        "role": "soldier",
        "status": "playable",
        "summary": "Tomb guard. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "155 gold · 18s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 235,
          "damage": 28,
          "range": 2,
          "speed": 8.5,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "28 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Tomb guard. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "khepri/1",
        "faction": "khepri",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 17
        },
        "building": "Obelisk hall",
        "name": "Sun archer",
        "role": "archer",
        "status": "playable",
        "summary": "Sun archer. Fights automatically down the bridge.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "185 gold · 21s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 35,
          "range": 13,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "35 base damage every 1.2s at 13 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Sun archer. Fights automatically down the bridge."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "khepri/2",
        "faction": "khepri",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 17
        },
        "building": "Scarab vault",
        "name": "Scarab bulwark",
        "role": "knight",
        "status": "playable",
        "summary": "Scarab bulwark. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "285 gold · 29s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 475,
          "damage": 30,
          "range": 2.5,
          "speed": 7.2,
          "armor": 35,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "30 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Scarab bulwark. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "khepri/3",
        "faction": "khepri",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 17
        },
        "building": "Ritual chamber",
        "name": "Embalmer",
        "role": "mage",
        "status": "playable",
        "summary": "Embalmer. Heals the most wounded nearby ally for 29 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "230 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Embalmer. Heals the most wounded nearby ally for 29 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "khepri/4",
        "faction": "khepri",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 17
        },
        "building": "Dune stable",
        "name": "Dune stalker",
        "role": "soldier",
        "status": "playable",
        "summary": "Dune stalker. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "220 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 195,
          "damage": 34,
          "range": 2,
          "speed": 12,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "34 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Dune stalker. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "khepri/5",
        "faction": "khepri",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 17
        },
        "building": "King’s crypt",
        "name": "Obsidian guardian",
        "role": "knight",
        "status": "playable",
        "summary": "Obsidian guardian. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "345 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 610,
          "damage": 42,
          "range": 2.5,
          "speed": 7.2,
          "armor": 32,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "42 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Obsidian guardian. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "khepri/6",
        "faction": "khepri",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 17
        },
        "building": "Solar foundry",
        "name": "Sun engine",
        "role": "siege",
        "status": "playable",
        "summary": "Sun engine. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "355 gold · 35s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 260,
          "damage": 76,
          "range": 17,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 3
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "76 base damage every 3s at 17 range. 3.1× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Sun engine. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "khepri/7",
        "faction": "khepri",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 17
        },
        "building": "Sundial",
        "name": "Sundial",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Grants nearby allied Khepri one sunlight every 2s, capped at five. Collectors do not stack.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 0,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "shield",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Support structure. Grants nearby allied Khepri one sunlight every 2s, capped at five. Collectors do not stack."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ],
    "orin": [
      {
        "id": "orin/0",
        "faction": "orin",
        "index": 0,
        "atlas": {
          "column": 0,
          "row": 18
        },
        "building": "Assembly bench",
        "name": "Clockwork fencer",
        "role": "soldier",
        "status": "playable",
        "summary": "Clockwork fencer. Fights automatically down the bridge.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "145 gold · 17s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 180,
          "damage": 28,
          "range": 2,
          "speed": 10,
          "armor": 15,
          "attackInterval": 1.1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "28 base damage every 1.1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Clockwork fencer. Fights automatically down the bridge."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "orin/1",
        "faction": "orin",
        "index": 1,
        "atlas": {
          "column": 1,
          "row": 18
        },
        "building": "Coil range",
        "name": "Arc gunner",
        "role": "archer",
        "status": "playable",
        "summary": "Arc gunner. A secondary nearby enemy takes a 40% chain spark.",
        "equipment": "A visible ranged weapon or projectile organ, light protection and a compact profile.",
        "deployment": "180 gold · 20s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 140,
          "damage": 31,
          "range": 11,
          "speed": 8,
          "armor": 0,
          "attackInterval": 1.2
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "31 base damage every 1.2s at 11 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Arc gunner. A secondary nearby enemy takes a 40% chain spark."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "orin/2",
        "faction": "orin",
        "index": 2,
        "atlas": {
          "column": 2,
          "row": 18
        },
        "building": "Plate press",
        "name": "Brass guardian",
        "role": "knight",
        "status": "playable",
        "summary": "Brass guardian. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "265 gold · 28s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 490,
          "damage": 31,
          "range": 2.5,
          "speed": 7.2,
          "armor": 32,
          "attackInterval": 1.3
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "31 base damage every 1.3s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Brass guardian. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "orin/3",
        "faction": "orin",
        "index": 3,
        "atlas": {
          "column": 3,
          "row": 18
        },
        "building": "Service bay",
        "name": "Repair spider",
        "role": "mage",
        "status": "playable",
        "summary": "Repair spider. Heals the most wounded nearby ally for 28 every 2s; heroes receive 20%.",
        "equipment": "A support focus, staff or biological organ, with a distinct glowing accent.",
        "deployment": "225 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 145,
          "damage": 8,
          "range": 8,
          "speed": 7.7,
          "armor": 0,
          "attackInterval": 1.6
        },
        "attack": {
          "name": "Ranged volley",
          "pattern": "strike",
          "description": "8 base damage every 1.6s at 8 range.",
          "anticipation": "Set the feet, align the weapon and pull back the firing limb.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Recovery support",
          "pattern": "heal",
          "description": "Repair spider. Heals the most wounded nearby ally for 28 every 2s; heroes receive 20%."
        },
        "counterplay": "Reach this unit behind its frontline. Burst damage can overwhelm recovery between pulses."
      },
      {
        "id": "orin/4",
        "faction": "orin",
        "index": 4,
        "atlas": {
          "column": 4,
          "row": 18
        },
        "building": "Spring mill",
        "name": "Gear hound",
        "role": "soldier",
        "status": "playable",
        "summary": "Gear hound. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack.",
        "equipment": "A compact close-combat weapon or natural mandibles, flexible armor and an open running silhouette.",
        "deployment": "225 gold · 23s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 210,
          "damage": 33,
          "range": 2,
          "speed": 13,
          "armor": 15,
          "attackInterval": 1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "33 base damage every 1s at 2 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Battlefield role",
          "pattern": "run",
          "description": "Gear hound. Moving for 1s primes 35% extra basic damage; the charge is consumed on attack."
        },
        "counterplay": "Use area damage against clustered formations and punish the recovery after an attack."
      },
      {
        "id": "orin/5",
        "faction": "orin",
        "index": 5,
        "atlas": {
          "column": 5,
          "row": 18
        },
        "building": "Grand workshop",
        "name": "Chrono knight",
        "role": "knight",
        "status": "playable",
        "summary": "Chrono knight. Armored elite frontline.",
        "equipment": "Oversized protective armor, broad shoulders or carapace, and a short frontline weapon.",
        "deployment": "325 gold · 32s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 470,
          "damage": 40,
          "range": 2.5,
          "speed": 9.5,
          "armor": 25,
          "attackInterval": 1.1
        },
        "attack": {
          "name": "Close attack",
          "pattern": "attack",
          "description": "40 base damage every 1.1s at 2.5 range.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Frontline protection",
          "pattern": "shield",
          "description": "Chrono knight. Armored elite frontline."
        },
        "counterplay": "Kite its slow approach and attack the supporting units first."
      },
      {
        "id": "orin/6",
        "faction": "orin",
        "index": 6,
        "atlas": {
          "column": 6,
          "row": 18
        },
        "building": "Coil gantry",
        "name": "Rail automaton",
        "role": "siege",
        "status": "playable",
        "summary": "Rail automaton. Deals bonus damage to structures.",
        "equipment": "A reinforced carriage or broad creature body, heavy striking surface and clearly visible recovery motion.",
        "deployment": "350 gold · 34s production interval · shared 48-troop cap per commander.",
        "stats": {
          "health": 245,
          "damage": 72,
          "range": 21,
          "speed": 6.8,
          "armor": 10,
          "attackInterval": 2.6
        },
        "attack": {
          "name": "Siege discharge",
          "pattern": "bombard",
          "description": "72 base damage every 2.6s at 21 range. 3× damage to structures.",
          "anticipation": "Compress the launcher or lower the heavy head before firing.",
          "contact": "A bright release travels toward the target; keep the muzzle or organ readable.",
          "recovery": "A long recoil and reset gives opponents time to advance."
        },
        "special": {
          "name": "Structure pressure",
          "pattern": "bombard",
          "description": "Rail automaton. Deals bonus damage to structures."
        },
        "counterplay": "Close the distance or use terrain and a durable frontline. This unit needs room to release its attack."
      },
      {
        "id": "orin/7",
        "faction": "orin",
        "index": 7,
        "atlas": {
          "column": 7,
          "row": 18
        },
        "building": "Grounding rod",
        "name": "Grounding rod",
        "role": "tower",
        "status": "playable",
        "summary": "Support structure. Every 2s, grants nearby allies 25% damage reduction for 2.5s.",
        "equipment": "A fixed faction structure with a visible power core and an exposed base.",
        "deployment": "230 gold · stationary utility or defense · shared 48-troop cap per commander.",
        "stats": {
          "health": 950,
          "damage": 0,
          "range": 14
        },
        "attack": {
          "name": "Station pulse",
          "pattern": "rally",
          "description": "This utility structure supports nearby allies instead of attacking.",
          "anticipation": "Shift weight back and expose the attacking limb.",
          "contact": "The leading limb or weapon snaps forward and the torso follows.",
          "recovery": "Return to a balanced stance before the next attack."
        },
        "special": {
          "name": "Formation support",
          "pattern": "rally",
          "description": "Support structure. Every 2s, grants nearby allies 25% damage reduction for 2.5s."
        },
        "counterplay": "Destroy the fixed structure to remove its local benefit."
      }
    ]
  }
}
