feat(repair): filter debug sub-state options by current mission

Pylon-only mission steps (approaching/arrived/npc-return/narrator-outro)
no longer appear in the GameStateDebugPanel sub-state dropdown for the
ebike or farm missions, which use the shorter
locked/waiting/inspected/fragmented/scanning/repairing/reassembling/done
flow.
This commit is contained in:
Tom Boullay
2026-06-02 21:59:54 +02:00
parent eb5d4076d1
commit d1665891f4
2 changed files with 18 additions and 2 deletions
+14
View File
@@ -24,6 +24,20 @@ export const MISSION_STEPS = [
] as const satisfies readonly MissionStep[];
const MISSION_STEP_VALUES: ReadonlySet<string> = new Set(MISSION_STEPS);
const PYLON_ONLY_MISSION_STEPS = new Set<MissionStep>([
"approaching",
"arrived",
"npc-return",
"narrator-outro",
]);
export function getMissionStepsFor(
mission: RepairMissionId,
): readonly MissionStep[] {
if (mission === "pylon") return MISSION_STEPS;
return MISSION_STEPS.filter((step) => !PYLON_ONLY_MISSION_STEPS.has(step));
}
export function isRepairMissionId(value: string): value is RepairMissionId {
return REPAIR_MISSION_ID_VALUES.has(value);
}