--- /dev/null +++ b/docs/mission-starts.md @@ -0,0 +1,29 @@ +# Mission starts + +Prison remains the default. Administrators can choose a static crash aftermath for the next round in `/esc menu` → Settings, or through chat: + +| Command | Effect | +| --- | --- | +| `/esc mission start show` | Show the saved next start and this round’s selected start | +| `/esc mission start set prison` | Save Prison for the next round | +| `/esc mission start set crash` | Save Crash for the next round | + +Numeric `0` and `1` are also accepted. There is no random start or reroll. Changing the saved choice does not move current players, replace the start site, or restart the mission. + +The server freezes the selection before preparing sites and replicates it to clients. Late joins and reconnects use that same round selection. A new round adopts the saved choice. The server stores it as integer `mission.startMode` in [`$profile:Escapists.json`](configuration.md#one-server-configuration); older files without this field select Prison. For manual edits, stop the mission, preserve the rest of the configuration, change only that field, and restart. + +## Playing from the crash site + +Crash mode places you on foot beside a static helicopter wreck. Search the salvage backpack for weapons and a field map, then follow the marked clue sites to find the radio. There is no prison gate to unlock. This is an aftermath scene: it does not fly or crash an aircraft, seat players, apply crash injuries, or grant a second life. + +The start cache and map retain their finite authored stock. Clue folders, radio defence, medical recovery and extraction use the existing mission rules; changing start type does not refill supplies or reveal the radio. Existing one-life admission and reconnect rules still apply. New arrivals use the normal survivor-near placement, with the starting area as fallback. + +Extraction distance is measured from the starting area in either mode. Gather everyone intended for rescue before flying beyond the boundary; only living prisoners aboard escape, including unconscious passengers. Players left behind do not escape. + +Placement checks the admission/cache area and the measured wreck footprint before spawning. If the configured composition or terrain cannot satisfy preparation, spawning is withheld with the normal administrator diagnosis; there is no silent fallback to Prison. + +## Resources and validation + +The aftermath uses an audited vanilla static wreck and successor-owned start setup. It adds no new external addon dependency. The current project still requires its declared RHS, WCS Armament, WCS BMP and Parachute Framework dependencies and their dependency closure; choosing Prison does not unload them. See the [external addon inventory](external-addons.json) for exact identities. + +The [native geometry run](evidence/native-2026-10-03-crash-geometry/report.json) passed 32 assertions and one completion with no script failures, while retaining 13 engine/resource errors. It measured the inert wreck’s bounds and verified owned probe cleanup. That run predates the integrated crash-start flow and does not prove crash terrain placement, player admission, a full escape, manual UI use, multiplayer or FPS. Focused settings and core-policy tests use native boundaries represented by test doubles. A native crash-start flow check is still pending; hideout starts and animated helicopter crashes are not implemented by this feature. --- a/docs/original-feature-coverage.json +++ b/docs/original-feature-coverage.json @@ -6,15 +6,21 @@ "id": "alternate_starts", "title": "Helicopter-crash and hideout starts", "scope": "later", - "status": "pending", + "status": "partial", "original_scripts": [ "Scripts/Game/Components/ESCT_HelicrashHelicopterComponent.c", "Scripts/Game/Components/Start/ESCT_HelicrashStartComponent.c", "Scripts/Game/Components/Start/ESCT_HideoutStartComponent.c", "Scripts/Game/Entities/ESCT_HelicrashLocationHolder.c" ], - "replacement_files": [], - "remaining": "Author separate layouts and progression rules after the prison release." + "replacement_files": [ + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartRules.c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_StartSetup.c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_CrashSiteResources.c", + "addons/core/Scripts/Game/ERR/00_Core/ERR_Settings.c", + "docs/mission-starts.md" + ], + "remaining": "Independent static on-foot crash aftermath and persisted next-round Prison/Crash choice are implemented. Native geometry measurement passes; integrated native crash-start flow, full human escape and multiplayer remain unqualified. Hideout starts and animated helicopter crashes remain absent; no equivalence to protected original crash logic is claimed." }, { "id": "spectators",