---
# nuzlocke-tracker-0jec
title: Soullink tracking
status: draft
type: epic
created_at: 2026-02-09T07:56:50Z
updated_at: 2026-02-09T07:56:50Z
---

Track a **soullink** — a multiplayer nuzlocke variant where two (or more) players play through the same game simultaneously. Each player's Pokemon are **linked** in pairs: if one partner's Pokemon dies, the linked Pokemon on the other player's side dies too.

## Concept

A soullink adds a cooperative/social layer on top of a standard nuzlocke:

- **Linked pairs**: Each time both players catch their first encounter on a route, those two Pokemon become a "soul pair." Their fates are tied — if either one faints, both are considered dead.
- **Shared rules**: Both players follow the same nuzlocke ruleset (first encounter only, permadeath, etc.).
- **Multiplayer**: Requires at least two participants, each running their own nuzlocke run on the same game (or the paired version, e.g., one plays Sword, the other Shield).
- **Coordination**: Players need to progress roughly in sync, linking encounters as they go.

## Core Mechanics

### Soul Pairs
- When both players have caught their encounter for a given route, those two Pokemon are linked as a soul pair.
- If either Pokemon in a pair faints, the other is automatically marked as dead too.
- A Pokemon can only be in one soul pair.
- Pairs are typically formed route-by-route (Player A's Route 1 catch links with Player B's Route 1 catch).

### Death Propagation
- When a player marks a Pokemon as fainted, the system should identify its soul partner and prompt/auto-mark the partner as fainted too.
- The death cause on the partner could note "Soul link — partner fainted" or similar.

### Soullink Overview
- Show all soul pairs with their current status (both alive, one dead = both dead).
- Show each player's team side by side.
- Cumulative stats across both players.

## Possible Data Model
- A `Soullink` entity grouping two (or more) nuzlocke runs together, with shared rules.
- A `SoulPair` entity linking two encounters (one per player): soullink_id, encounter_a_id, encounter_b_id.
- Each participant's run is a standard `NuzlockeRun`, just like genlocke legs.

## Dependencies
- Requires user authentication (`nuzlocke-tracker-d98o`) — each participant needs their own account to own their run.

## Notes
- This is a **draft** epic. Needs further refinement before work can begin — particularly around the multiplayer UX (real-time sync vs. async, invitations, how linking is coordinated).
- Consider whether soullinks can be combined with genlockes (a soullink genlocke).
- Some variants allow 3+ players — the data model should be flexible enough to support this.