Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
46 lines
3.3 KiB
JSON
46 lines
3.3 KiB
JSON
{
|
|
"status": "working scratch core, measured resource dependency pending; not integrated or native-qualified",
|
|
"scope": "Default prison or independently authored static crash aftermath; no aircraft control or alternate admission/loadout.",
|
|
"implementation": [
|
|
"Once-only server settings choice frozen before first scenario Prepare, replicated int StartMode; invalid choice refuses preparation and later saved edits cannot change this round.",
|
|
"Guarded PREPARING->RADIO_SEARCH requires frozen crash choice and successful full scenario/extraction/environment readiness. Existing default phase edges retained. Both initial exit paths reset dormant force clocks; production prison AI release/listeners receive actual RADIO_SEARCH.",
|
|
"Fresh runtime single-start definition becomes owned empty crash site+one static wreck prop, preserving finite container/stock/map/site ID and internal PRISON start-slot role. Removes only start guards/route/responders/old props; no new forces or grants.",
|
|
"Crash transformation follows WB-only definition overrides. It forces regular generated survey; terrain-independent scheduler already calls same common survey. Both keep full original start/cache square plus padded measured wreck volume, rotated around actual heading.",
|
|
"Explicit prison escape service mode guard; standard spawn/one-life/reconnect/preload unchanged. Scenario normal catalog/generated allowlist includes crash-start while exact latest patrol-hq helper remains byte-for-byte."
|
|
],
|
|
"resource_contract": {
|
|
"owner": "convoy_supply_pool",
|
|
"class": "ERR_CrashSiteResources",
|
|
"methods": [
|
|
"SitePrefab()",
|
|
"WreckPrefab()",
|
|
"Bounds(out vector minimum,out vector maximum)"
|
|
],
|
|
"measurement": "No guessed constants. Current resource draft Bounds returns false until root measured exact native replicated wrapper. Core Configure and survey fail closed if false.",
|
|
"geometry": "Measured local bounds must be finite/nondegenerate, coordinates and extents bounded30m; offset places nearest hullX at12m; overall offset<=40m. Rounded measured footprint +1m padding, halfsize<=20m, vertical extent+1<=20m. These are refusal caps, not invented dimensions. Existing original16spawn slots and cache remain in original10m survey."
|
|
},
|
|
"verification": {
|
|
"new_test": "tests/test_crash_start.py",
|
|
"exit": 0,
|
|
"actual_methods": [
|
|
"ERR_StartRules.Valid/Geometry",
|
|
"ERR_StartSetup.IsCrash/Geometry/Configure",
|
|
"ERR_GameMode.FreezeStartMode",
|
|
"ERR_GameMode.Transition admission prefix",
|
|
"ERR_MissionRules.Terminal/CanTransition",
|
|
"ERR_CampTerrain.Site"
|
|
],
|
|
"boundaries": "Resource measurement, definition.Valid, native actor allocation and trace/terrain primitives doubled; source-order checks bind full startup, replicated getter, prison guard and both placement callers. Actual native geometry/replication/crash route remain pending.",
|
|
"baseline_red": "Not claimed: this adds an absent feature; new-class behavior tested directly."
|
|
},
|
|
"unmodified": [
|
|
"ERR_SpawnLogic / roster / inventory admission",
|
|
"SiteService finite stock and owned cleanup",
|
|
"TerrainSites (shared survey used without edits)",
|
|
"PrisonAI production hold/release",
|
|
"latest patrol-hq finite responders and runtime radius/queue fixture",
|
|
"settings/admin/UI files owned by separate agent",
|
|
"live successor and original"
|
|
]
|
|
}
|