Skip to content

Spirit Chains

Dominik Burger edited this page Jun 6, 2026 · 11 revisions

Spirit Chains [CURRENT]

Spirit Chains are throwable items — the core verb for both engaging and capturing. You aim and throw a chain on the overworld; it flies in your facing direction and can miss. Definitions live in public/assets/data/spiritchains.json; capture/throw math is the shared pure module src/engine/spiritchains.js; tunables sit in GAME.SPIRIT_CHAIN.

  • Engage by throw: landing a chain on a monster starts combat and gives the thrower the first turn (initiative); walking into a monster still starts combat, but the monster acts first. [CURRENT] Throwing at a player (when PvP is on) engages the duel [CURRENT] — but PvP turns resolve simultaneously, so the thrower's first-turn edge is recorded (initiatorId) and not yet applied. [PLANNED]
  • Capture stays turn-based: a map throw only starts the fight; the in-combat catch is what captures, now scaled by the chain's tier (see Combat and Taming). [CURRENT]
  • Two resources per chain: throwCount (overworld throws — spent on every throw, hit or miss) and durability (capture charges — spent only on a successful capture; the chain is consumed when charges hit 0). [CURRENT]
  • Controls: Q throws along your facing; [ / ] cycle the equipped chain. [CURRENT]

Five base tiers + three top-tier specials:

Chain Tier Capture × Range Max rarity Throws Charges Special
Frayed Chain 1 0.50× 160px ≤3 3 1
Iron Chain 2 0.75× 240px ≤3 5 2
Steel Chain 3 1.00× 320px ≤4 8 3
Runed Chain 4 1.30× 440px ≤4 12 5
Astral Chain 5 1.60× 560px ≤5 20 8
Eternal Coil 6 1.40× 480px ≤4 6 Endless: unlimited overworld throws [CURRENT]
Sovereign Bind 6 1.00× 480px ≤5 3 3 Guaranteed: ~100% capture at ≤25% HP [CURRENT]
Hydra Lash 6 1.30× 480px ≤5 5 5 Multi/area: chain nearby monsters [PLANNED]

Rarity gate: a chain can only capture monsters up to its maxRarity — a too-rare target auto-fails ("the chain rejects it"). Low tiers floor at rarity 3 so they stay useful (the live pool is mostly rarity 3–4; rarity 5 is legendary).

Acquisition

  • Starter: every profile is granted a tier-1 Frayed Chain (and back-filled on older saves). [CURRENT]
  • Loot chests: 10 chests/round spawn against walls (server-authoritative, seeded), each holding 1–2 randomized chains weighted by dropWeight (common low tiers, rare specials). Walk within 40px to open; a duplicate refills that chain's throws + charges. Chests blip on the minimap only within 420px — you explore to find them. [CURRENT]
  • Gold shop — spend run-earned gold between runs. Prices: T1 25g · T2 70g · T3 160g · T4 380g · T5 850g · specials 1300–1600g. Buying banks the chain permanently (a duplicate refills its throws + charges). [CURRENT] single-player + server handler / [PLANNED] online shop UI
  • Crafting from in-run materials. [PLANNED]

Extraction stakes: chains opened from chests this run are provisional (runFound) — banked on extract, lost on death/timeout (your starter and previously-banked chains are always safe; a death never leaves you chainless). A refill of an already-banked chain is not at risk. [CURRENT]

Clone this wiki locally