Skip to content

0077 — Faction mission completion

Status

Superseded by ADR-0090. Faction reputation is emergent-only: standing moves through the trigger surface in FEATURES/gameplay/factions-and-teams.md#reputation-triggers, not through mission acceptance or completion. The mission-completion payout mechanic this ADR specifies is not canonical; missions are not part of the faction-reputation system.

Context

Players can accept faction missions (FactionMission rows carry credit/reputation rewards, cargo targets, sector targets), but no completion, verification, or payout mechanic exists, and canon never specified objective-verification semantics.

Decision

Hybrid: detect-then-claim at a faction office.

  1. Detection (background hooks): trading / movement / combat hooks mark a mission's objective met when fulfilment is observed (player in the target sector holding the required cargo; the credited kill lands; etc.). Marking "met" does not pay out.
  2. Claim (player action at a faction office): the player collects the payout at any faction office. On claim the server re-verifies the met state, deducts delivered cargo, and pays credits + reputation. This fits the in-fiction faction-office framing and gives the player a deliberate collect step.
  3. Existing constraints stand: expires_at mission expiry, the 5-active cap, and reward economics respecting the rank-points / reputation sinks. Mission kills are credited consistently with the combat hooks (no double-count with bounty/ ranking).

Consequences

  • Two surfaces to build: the hook-driven objective-met marker, and the faction-office claim/payout endpoint with re-verification.
  • The "met but unclaimed" state is a new mission status; UI surfaces a claimable badge at faction offices.

services/gameserver/.../factions.py, FEATURES/gameplay/factions-and-teams.md, ADR-0032 (emergent reputation action set), ADR-0042 (combat hooks).