Files
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

5.6 KiB
Raw Permalink Blame History

Finite ground transport

The normal Southern supply cache now attempts one locked successor SupplyUAZ, based on the vanilla UAZ. Its explicit Optional 1 declaration permits omission if the parking survey, resource, security or readiness checks fail. The cache, physical clues and guards remain intact. Placement is attempted once after required stock, guards and extraction preparation finish; a spawned candidate gets a separate fixed 15-second settling deadline. Losing the candidate never schedules a replacement or refills fuel.

The Southern parking candidate is 6150/7038, offset 0 0 -12, heading 180°, clearance radius 4 m and maximum terrain range 1 m. The normal-route native run accepts this parking square with a 0.625 m terrain range and observes the owned vehicle at approximately 6149.98/7038.01. Its three dedicated checks confirm once-only admission, a resolved owned vehicle and an initially locked state. The earlier occupied-prefix refusal remains recorded. Ordinary driving, held breach input and remote behavior still need testing. A ready vehicle starts locked; the existing driver-door breach action is required. Successful breach now starts a bounded eight-second horn alarm; alarm lifecycle and qualification limits distinguish implementation from audio and remote-client proof.

Failure deletes only the exact owned candidate after checking compartments and a bounded hierarchy for occupants. Occupied or uncertain candidates are relinquished from preparation cleanup. Required transport retains the earlier whole-preparation failure behavior. Existing whole-round cleanup after successful preparation is unchanged; its occupant handling remains a separate qualification requirement.

The vehicle cannot carry all twelve prisoners simultaneously. Losing it does not defeat the mission or remove the walking route. It is not registered as an HQ response asset. The Western cache and its required transport remain in Tests/LegacySites.conf only; historical native evidence below describes that different location.

Authoring

Only depot and outpost sites accept a Transport ERR_SiteTransport block. One vehicle is permitted per site and at most four per scenario. Optional (false by default), Prefab, ground-relative Offset, Heading, ClearanceRadius, and MaximumTerrainRange are authored in EveronSites.conf. Offset magnitude is capped at 60 m and vertical offsets are forbidden. Parking clearance radius must be 2–8 m and the allowed terrain elevation range 0–1.5 m.

Before spawning, the service samples a 3×3 terrain grid across the parking square, rejects water, steep ground and objects with native geometry, and logs the result. It never removes terrain scenery or searches for another spawn point. Preparation additionally requires a live wheeled vehicle, fuel, native driver and passenger positions, and a vehicle bounding box fitting inside the surveyed footprint with a 0.5 m margin. The persistent handbrake is set at creation.

For the historical Western fixture, the initial 5960/7232 candidate was rejected by native geometry checks. A bounded parking survey found 43 clear candidates. The selected parking position is 5960/7212, offset 0/0/-8 from the western cache, heading 180°, final clearance radius 4 m and maximum terrain range 1 m. The initial six-metre-square survey sampled a 0.625 m range; the final native run rechecks the larger eight-metre square. The readiness check compares actual vehicle bounds to this surveyed center, rather than a possibly displaced current origin. Manual route navigation remains unverified.

Asset audit

The successor prefab {FA65287C19DE304B}Prefabs/ERR/Vehicles/SupplyUAZ.et adds its scoped interaction lock to the vanilla base {259EE7B78C51B624}Prefabs/Vehicles/Wheeled/UAZ469/UAZ469.et, independently checked against the installed vanilla resourceDatabase.rdb. This is already in docs/vanilla-resources.json. Its vanilla base config defines two 39 L tanks initially containing 29.25 L each, hence 58.5 L total initial fuel. The successor does not set or regenerate that fuel. The 044205 native run observes 58.5 L initially, 78 L total capacity and five usable driver/passenger seats. No original Escapists code, composition or asset is used.

Native fixture

ERR_NativeTransportProbe is WORKBENCH-only and opt-in. Its Tick(now) helper uses the actual authored UAZ and two isolated scripted prisoner characters. It checks ownership, native pilot/passenger compartments, physical occupancy and ordinary native engine startup. It then deliberately drains fuel, waits, queries preparation, deletes the vehicle and queries preparation again, verifies initialization cannot repeat, and stops the site service. This destructive fixture therefore belongs in its own smoke branch followed by a round reset.

The linked native run passes all 23 checks with no script/VM exceptions; seven inherited vehicle schema errors remain. The fixture is not manual driving, normal boarding-action validation, road navigation, fuel-range balancing, remote-client replication, or multiplayer proof. Neither it nor repository validation should be reported as those checks.

The new normal-escape-route diagnostic retains the ordinary catalog and generated placement, checks the Southern transport outcome explicitly, and exercises the scripted escape path. The older escape-route selector substitutes the historical catalog and fixed positions. Neither proves ordinary human driving or multiplayer.