{
  "id": "magic",
  "name": "Magic",
  "maxHealth": 1700,
  "moveSpeed": 5,
  "strafeSpeed": 1.5,
  "backwardSpeed": 0,
  "turnRate": 720,
  "radius": 0.45,
  "movement": { "family": "magic", "behaviour": "keepBand", "band": [6, 11] },
  "teleport": {
    "distance": 8,
    "cooldown": 7,
    "windup": 0.2,
    "rules": [
      { "mode": "escape", "priority": 4, "launchChance": 0.9, "triggers": [{ "type": "enemiesWithin", "radius": 3.5, "count": 1 }] },
      { "mode": "gapClose", "priority": 7, "launchChance": 0.5, "triggers": [{ "type": "targetDistanceAbove", "value": 14 }] }
    ]
  },
  "special": {
    "type": "healZone",
    "activation": "rule",
    "priority": 2,
    "launchChance": 0.8,
    "cooldown": 18,
    "windup": 0.4,
    "recovery": 0.3,
    "triggers": [{ "type": "selfHealthBelow", "value": 0.5 }],
    "radius": 3,
    "healPerSecond": 45,
    "duration": 6,
    "affects": "allies",
    "presentation": { "animation": "special.heal", "vfx": { "preset": "healZone", "color": "#7dffb0" } }
  },
  "combo": { "steps": ["basic", "basic", "basic", "ultimatum"], "useRange": [0, 16], "gap": 0.1, "cooldown": 22, "initialCooldown": 12, "priority": 5, "launchChance": 0.1 },
  "ai": { "targeting": "nearest", "retargetInterval": 0.5, "retargetMargin": 0.2, "decisionInterval": 0.1 },
  "presentation": { "animationSet": "magic", "prop": "orb", "icon": "rune" },
  "attacks": [
    {
      "slot": "basic",
      "id": "fireball",
      "useRange": [0, 16],
      "windup": 0.35,
      "recovery": 0.35,
      "cooldown": 1.1,
      "launchChance": 0.9,
      "priority": 6,
      "requiresLineOfSight": true,
      "timeline": [{ "at": 0, "effect": { "type": "projectile", "homing": 60, "speed": 20, "radius": 0.35, "maxRange": 18, "splashRadius": 0.8, "damage": 30 } }],
      "presentation": { "animation": "attack.fireball", "vfx": { "preset": "fireball", "color": "#ff6a2a" }, "sfx": "fireball" }
    },
    {
      "slot": "secondary",
      "id": "arcane_burst",
      "useRange": [0, 3],
      "windup": 0.55,
      "recovery": 0.4,
      "cooldown": 6,
      "launchChance": 0.9,
      "priority": 3,
      "timeline": [{ "at": 0, "effect": { "type": "burst", "radius": 3.2, "damage": 85, "knockback": 2.5 } }],
      "presentation": { "animation": "attack.burst", "vfx": { "preset": "burst", "color": "#c77dff" }, "sfx": "burst" }
    },
    {
      "slot": "ultimatum",
      "id": "arcane_barrage",
      "useRange": [0, 17],
      "windup": 0.6,
      "recovery": 0.5,
      "cooldown": 12,
      "initialCooldown": 4,
      "launchChance": 0.5,
      "priority": 5,
      "requiresLineOfSight": true,
      "timeline": [
        {
          "at": 0,
          "repeat": { "count": { "min": 6, "max": 9, "scaleBy": "missingHealth" }, "interval": 0.08 },
          "effect": { "type": "projectile", "speed": 26, "radius": 0.25, "maxRange": 20, "homing": 90, "damage": 20 }
        }
      ],
      "presentation": { "animation": "attack.barrage", "vfx": { "preset": "arcaneOrb", "color": "#c77dff" }, "sfx": "barrage", "slowMo": true }
    },
    {
      "slot": "humiliatum",
      "id": "triple_shockwave",
      "useRange": [0, 11.5],
      "windup": 0.5,
      "recovery": 0.6,
      "cooldown": 40,
      "launchChance": 0.5,
      "priority": 1,
      "blockable": false,
      "requiresMeter": true,
      "timeline": [
        {
          "at": 0,
          "repeat": { "count": 3, "interval": 0.3 },
          "effect": { "type": "burst", "radius": 12, "expandTime": 0.5, "damage": 105, "knockback": 2.5 }
        }
      ],
      "presentation": { "animation": "attack.shockwave", "vfx": { "preset": "shockwave", "color": "#b05cff" }, "sfx": "shockwave", "slowMo": true }
    }
  ]
}
