Skip to content

0061 — Combat correctness and rank wiring (Group C)

Status

Folded into ../SYSTEMS/combat-resolver.md, ../FEATURES/gameplay/ranking.md, ../FEATURES/gameplay/ships.md, and ../FEATURES/gameplay/ship-insurance.md — defer to those pages for the canonical description (2026-08-04, re-verified). Both critical items verified genuinely shipped in the gameserver combat resolver. (re-verified 2026-08-06)

Context

Nine audit findings clustered around the combat resolver and its feeders. Two were critical: the rank-derived combat_bonus was stored on Player but never read at the damage-roll step (S-D2), and escape pods were nominally indestructible but not excluded from the combat targeting validator, contradicting the safety-net design (S-V1). The rest were correctness fixes: a single canonical insurance-payout formula (S-D3), ceil-rounded per-commodity cargo-wreck recovery per ADR-0007 (S-I1), auto-eject of docked escape pods when a Carrier hosting them is destroyed (S-I2), fleet-coordination-bonus timing pinned to fleet-init/roster-change events rather than per-round recompute with morale left cosmetic (S-I3), mid-combat rank promotion deferred until combat resolves so the combat_bonus used throughout a fight is snapshotted at combat init — consistent with the dialogue-context snapshot pattern from ADR-0058 A-F1 (S-I4), and a Player.suspect_team_snapshot UUID[] capturing team membership at suspect-status acquisition so mid-grace team changes can't manipulate the team-mate exemption, mirroring the team-lock snapshot pattern from ADR-0060 G-F2 (S-V4). This ADR wires S-D2 into the damage stack, closes the S-V1 targeting gap, and ratifies single canonical answers for the remaining seven findings, documenting all of it in the combat resolver, ranking, ships, and ship-insurance pages. (S-D1, the escape-pod hull/shield value mismatch, is left as a code-vs-doc concern for the gameserver repo per the repo's standard policy.)

Folded into: - ../SYSTEMS/combat-resolver.md — damage-stack composition (S-D2, S-I3), suspect-status snapshot (S-V4) - ../FEATURES/gameplay/ranking.mdcombat_bonus, rank thresholds, mid-combat promotion deferral (S-D2, S-I4) - ../FEATURES/gameplay/ships.md — escape pods indestructible (S-V1), Carrier hangar auto-eject cascade (S-I2), suspect status (S-V4) - ../FEATURES/gameplay/ship-insurance.md — payout formula + worked example (S-D3)