Chain weapons
What it is
A chain weapon damages a primary target and then arcs to nearby targets in sequence, one hop at a time. Each hop hits a previously-unvisited enemy within the chain radius of the last hit and continues until the chain hop budget is exhausted or no valid next target exists. Damage decreases on every hop by a fixed falloff coefficient.
The math
The first target receives the full base damage of the firing shot. Damage carried into hop number N (counting the first jump after the primary as N = 1) follows a geometric decay against the chain falloff coefficient.
| Symbol | Meaning |
|---|---|
base | Damage dealt to the primary target |
falloff | Per-hop damage multiplier from the weapon spec |
N | Hop index after the primary (1 = first arc, 2 = second arc, …) |
damage_at_hop_N | Damage applied to the enemy hit on hop N |
Damage on hop N:
damage_at_hop_N = base × falloff^N
Hop target selection at each step:
- Start from the position of the last enemy hit (not the player’s current position).
- Consider only enemies within the chain radius of that last-hit position.
- Exclude any enemy already in the hit set for this chain.
- Pick the nearest remaining enemy.
- Also reject any candidate whose distance from the original firing origin exceeds the chain’s maximum total range.
If no candidate survives those filters, the chain ends immediately even if hops remain in the budget.
Two invariants:
- No retarget: once an enemy is in the hit set for a chain, it cannot be re-hit by the same chain even if it ends up back inside the radius of a later hop.
- Last-hit anchor: jumps are anchored on the position of the previous victim, so if that enemy dies the chain still continues from the location where the hit landed.
The maximum total range from the firing origin is set at fire time:
chain_max_total_range = first_target_range + chain_radius × 2
Numeric defaults
Resolver-level defaults that apply when a spec does not override them, and the per-weapon values declared on the canonical chain weapon.
| Stat | Resolver default | Lightning value |
|---|---|---|
| Chain falloff (damage multiplier per hop) | 0.88 | 0.88 |
| Chain radius (world units) | 100 | 93 at level 1, +11.748 per level |
| Hop delay (seconds between successive arcs) | 0.06 | 0.12 |
| Chain hop budget when no spec override | 3 | Stepped: 5 / 20 / 60 / 150 / 300 at level 1 / 6 / 10 / 15 / 20 |
| First target acquire range (world units) | Falls back to chain radius | 249 at level 1, +6 per level |
Hit-set behavior:
| Property | Value |
|---|---|
| Hit set scope | Per-chain (one set per fired shot) |
| Initial members | The primary target, added at the moment of the first hit |
| Membership rule | Any enemy struck by any hop is added; never removed |
| Re-hit allowed within the same chain | No |
| Re-hit allowed by a future shot of the same weapon | Yes — each shot creates its own hit set |
Sequencing:
| Property | Value |
|---|---|
| Hops per frame | One |
| Time between hops | Hop delay (seconds) |
| Action when no valid next target is found | Chain terminates and remaining hop budget is discarded |
| Action when the chain entity’s lifetime expires | Chain terminates regardless of remaining hops |
Which weapons use it
| Weapon | Collision mode | Family |
|---|---|---|
| Lightning | Chain arc | Chain |