Skip to content

How-To: Author an Ability Chain

last-verified: 2026-07-10 against f9ebdc9a3

A chain is one trigger setting off two or three linked abilities that share a single damage source — a slam that opens a corrupting fissure, a poison lob whose puddle bursts. If your idea is one ability (even a proc), it is not a chain: use Author Your First Ability instead.

Chains have a different creation flow from single abilities, and a shorter one. There is no wizard: you fill in one file (the Chain Sheet), and one console command generates every link's asset with all the connecting wiring derived for you. You never author the wiring between links by hand — the tool refuses anything structurally wrong before it creates a single asset.

Two finished examples to crib from: Design/Chains/SunderingSlam.chain.md (weapon slam → fissure) and Design/Chains/VenomLob.chain.md.

1. Write the Chain Sheet

Copy Design/Chains/_TEMPLATE.chain.md to Design/Chains/<YourChain>.chain.md and fill it in.

The block at the top between the --- fences is the tool's input — exact values, one per line (this is the one file in Design/ that a tool reads; delete the <angle-bracket> hints and the header comments). The prose below the fences is for humans: concept, feel, what each link should look like. Both matter — the prose is the brief for whoever hand-finishes the links.

Rules the sheet must obey (the stamp enforces all of them and tells you which one you broke):

  • At most 3 links, in a straight line. Link 1 fires link 2 fires link 3 — no branching. If you want a fourth effect, that's two items that synergize, not one chain.
  • Each link names an ability base from the same roster the single-ability wizard shows, plus its own damage type — a link may re-type the damage (the slam is Physical, its fissure is Corruption).
  • Only the last link may fire per-victim (fan_out: per_victim — "a fissure under each enemy the burst hit"). Every other link fires once.
  • The tooltip: line is required. Chains reach players only through items, so this one line on the carrying item's tooltip is the only place a player learns what the chain does. Write it in player language.

2. Stamp it

In the editor (not during Play-In-Editor — the command refuses), open the console (`) and run:

Eternal.Chain.Stamp Design/Chains/<YourChain>.chain.md

Read the Output Log: one stamped ... line per link asset it created, then an OK (0 errors, ...) summary. On errors it names the offending rule or field and creates nothing.

The stamp never overwrites an existing asset. To change a chain's structure later, edit the sheet, delete the affected link asset(s), and stamp again — the sheet stays the source of truth for structure. Hand-finished work on the other links is untouched.

Every link is a normal ability asset once it exists: montage, hit moment, cues, feel — the same checklist as any single ability. Work through How-To: Hand-Finish an Ability once per link.

4. Put it on an item

Chains are not composed into kits — they ride on items (a weapon's skill, an Echo Mod, a Greed Blessing), matching where the design says chains come from. The stamp writes a handoff file (Tools/ChainBundles/<YourChain>.bundle.json) listing the abilities the carrying item must grant as one bundle. Wiring that bundle onto a modifier/item is currently a programmer step — hand over the bundle file and the sheet. (Validation guards the seam: an item granting half a chain is an error, so a mis-wired carrier cannot ship silently.)

If a chain's links are ever deleted and re-stamped, the item pool that granted them must be re-imported before the item works again — mention the re-stamp in the handover.

Done when

  • The stamp reported OK, and Validate All in the Ability Workshop shows zero errors for every link.
  • Each link is hand-finished (its montage plays, cues fire).
  • In PIE, with the carrying item equipped: the trigger fires link 1, and each link visibly follows — and the item's tooltip shows your chain line.