{
  "id": "assassin",
  "name": "Assassin",
  "maxHealth": 1750,
  "moveSpeed": 8,
  "strafeSpeed": 6,
  "backwardSpeed": 5,
  "turnRate": 900,
  "radius": 0.45,
  "movement": { "family": "armed", "behaviour": "approach", "band": [0, 5.25], "strafeSwitch": [0.7, 1.5], "pauseChance": 0.4 },
  "teleport": {
    "distance": 9,
    "cooldown": 5,
    "windup": 0.15,
    "rules": [
      {
        "mode": "escape",
        "priority": 0,
        "launchChance": 0.8,
        "triggers": [
          { "type": "selfHealthBelow", "value": 0.3 },
          { "type": "enemiesWithin", "radius": 2.2, "count": 1 }
        ]
      },
      {
        "mode": "flank",
        "priority": 2,
        "launchChance": 0.6,
        "triggers": [
          { "type": "abilityReady", "slot": "ultimatum" },
          { "type": "targetDistanceAbove", "value": 3.5 }
        ]
      },
      { "mode": "gapClose", "priority": 6, "launchChance": 0.7, "triggers": [{ "type": "targetDistanceAbove", "value": 8 }] },
      { "mode": "sidestep", "priority": 4, "launchChance": 0.5, "triggers": [{ "type": "targetDistanceBelow", "value": 2.5 }] },
      { "mode": "sidestep", "priority": 4, "launchChance": 0.1, "triggers": [{ "type": "targetDistanceBelow", "value": 5.5 }] }
    ]
  },
  "special": null,
  "combo": { "steps": ["basic", "secondary", "basic", "ultimatum"], "useRange": [0, 6], "gap": 0.1, "cooldown": 22, "initialCooldown": 12, "priority": 3, "launchChance": 0.07 },
  "ai": { "targeting": "lowestHealth", "retargetInterval": 0.5, "retargetMargin": 0.2, "decisionInterval": 0.1 },
  "presentation": { "animationSet": "rifle", "prop": "shotgun", "icon": "dagger" },
  "attacks": [
    {
      "slot": "basic",
      "id": "shotgun_blast",
      "useRange": [0, 6],
      "windup": 0.2,
      "recovery": 0.35,
      "moveMult": 0.6,
      "cooldown": 1,
      "launchChance": 0.9,
      "priority": 5,
      "timeline": [
        { "at": 0, "effect": { "type": "projectile", "speed": 38, "radius": 0.12, "pellets": 6, "spreadDeg": 18, "maxRange": 9, "damage": 7 } }
      ],
      "presentation": { "animation": "attack.fire", "vfx": { "preset": "pellets", "color": "#ffb347" }, "sfx": "shotgun" }
    },
    {
      "slot": "secondary",
      "id": "grenade_toss",
      "useRange": [4, 11],
      "windup": 0.45,
      "recovery": 0.4,
      "cooldown": 6,
      "launchChance": 0.6,
      "priority": 4,
      "timeline": [
        {
          "at": 0,
          "effect": { "type": "projectile", "speed": 14, "radius": 0.25, "maxRange": 12, "lob": true, "splashRadius": 2.4, "damage": 60, "knockback": 1.2 }
        }
      ],
      "presentation": { "animation": "attack.throw", "vfx": { "preset": "grenade", "color": "#ffb347" }, "sfx": "throw" }
    },
    {
      "slot": "ultimatum",
      "id": "triple_blast",
      "useRange": [0, 5],
      "windup": 0.2,
      "recovery": 0.4,
      "moveMult": 0.4,
      "cooldown": 11,
      "initialCooldown": 5,
      "launchChance": 0.5,
      "priority": 3,
      "timeline": [
        { "at": 0, "effect": { "type": "heal", "of": "damageDealt", "fraction": 1 } },
        {
          "at": 0,
          "repeat": { "count": 3, "interval": 0.25 },
          "effect": { "type": "projectile", "speed": 38, "radius": 0.12, "pellets": 6, "spreadDeg": 18, "maxRange": 9, "damage": 8 }
        }
      ],
      "presentation": { "animation": "attack.burst", "vfx": { "preset": "pellets", "color": "#ff7a1a" }, "sfx": "shotgun", "slowMo": true }
    },
    {
      "slot": "humiliatum",
      "id": "big_shell",
      "useRange": [0, 25],
      "windup": 0.9,
      "recovery": 0.7,
      "cooldown": 40,
      "launchChance": 0.5,
      "priority": 1,
      "blockable": false,
      "requiresMeter": true,
      "requiresLineOfSight": true,
      "timeline": [
        { "at": 0, "effect": { "type": "projectile", "speed": 16, "radius": 1.4, "maxRange": 30, "pierce": true, "damage": 260, "knockback": 3 } }
      ],
      "presentation": { "animation": "attack.bigShot", "vfx": { "preset": "megaShell", "color": "#ff4d1a" }, "sfx": "cannon", "slowMo": true }
    }
  ]
}
