Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
60 lines
4.8 KiB
Diff
60 lines
4.8 KiB
Diff
--- /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",
|