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.md — combat_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)
Related¶
- ADR-0007 — cargo-wreck mechanic.
- ADR-0058 A-F1 — dialogue-context snapshot pattern (analogous to combat-bonus snapshot here).
- ADR-0060 G-F2 — team-lock snapshot pattern (S-V4 mirrors).
../SYSTEMS/combat-resolver.md— damage-stack composition.../SYSTEMS/fleet-coordination.md— coordination bonus.../FEATURES/gameplay/combat.md— combat surfaces.../FEATURES/gameplay/ranking.md—combat_bonus, rank thresholds, mid-combat deferral.../FEATURES/gameplay/ships.md— escape pods (now indestructible), Carrier hangar cascade, suspect status.../FEATURES/gameplay/ship-insurance.md— payout formula + worked example.../DATA_MODELS/player.md—suspect_team_snapshot.