Files
EscapistsReintroduced/docs/vehicle-maintenance.md
T
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

9.1 KiB

Finite player vehicle maintenance

The live Southern supply cache now contains one emergency repair kit and two vanilla fuel cans alongside its original weapons, ammunition, medicine, map and two radio documents. The supplies remain available if safe placement omits the optional UAZ. They are ordinary once-only site stock: taking, spending or losing them does not trigger a replacement. Take an item into your inventory, equip it, then use the vanilla action at a damaged vehicle part or fuel cap. Park the vehicle before using either action.

The Western vehicle/cache remains absent from the live mission. Its historical fixture and stock are retained separately; adding these three Southern items does not restore that site or change its fixture.

The kit includes 20 native supply units and inherits the vanilla wrench's emergency repair ceiling and damage eligibility. It does not fully restore every damaged part, resurrect destroyed vehicles or create replacements. The held wrench uses the normal native resource consumer; eligible nearby finite supplies may also be consumed according to vanilla resource rights. The item has no resource generator or replenishment callback. Each can starts with 5 litres, with a 20-litre capacity; the pair supplies 10 litres initially. The native fuel station transfers fuel out of the held can into an eligible tank and stops when the can is empty or the target is full. Cans may be refilled only through ordinary existing native sources.

Audit and validation limits

A later single snapshot follow-up, on the exact field-update candidate source, passes 60 assertions through can pickup/equip. Its scripted approach then fails the exact-held support-station guard before tank depletion or action execution. The run is retained as failed; it does not qualify the snapshot fix or fuel consumption, nor demonstrate ordinary-input failure. No guard was weakened and no further retry was made in that continuation.

The configured-range follow-up compiles and passes 61 assertions. It confirms original-can custody/equipping, reaches the original fuel action and arranges the single target-tank reduction from 29.25 to 23.25 litres while the can remains at five litres. It then hits a diagnostic snapshot index error before any native refuel action. The failed run and three script/VM failure lines remain archived alongside thirteen installed-resource errors; hidden/muted cleanup and unchanged inputs are confirmed.

The optional fixture now copies node identities/values into its own paired baseline and refuses inconsistent counts before indexing. Actual-method regression reproduces the unsafe read before the fix and passes after it. Native out-array aliasing is tested as an adversarial possibility; the exact native mismatch cause is unknown. This correction is not a fuel-transfer qualification, and no second refuel attempt was made in that continuation. Review and regression evidence.

The subsequent clock-corrected native run compiles and reaches 60 passing assertions, including one accepted inventory transfer of the original five-litre can, its successful callback, exact destination slot and native held-gadget state with fuel unchanged. After its one scripted approach, the fixture never passes its reach/visibility gate and expires at its fixed 120-second deadline. It performs no tank depletion or refuel action, completes no escape round and retains two test failures plus thirteen installed-resource errors. The log does not identify which reach subcondition failed. Inputs remain unchanged and hidden/muted runtime cleanup is confirmed. No second refuel run was made in this continuation; consumption, repair, human input and multiplayer remain pending. A source-bound reach review found the fixture uses the context selection radius as a player-distance limit, making it stricter than the inspected native interaction-retention check; it also ignores capsule height. This is a diagnostic limitation, not evidence that ordinary refuelling is broken.

1 October 2026 — optional refuel diagnostic corrected: RHS: Status Quo, WCS Armaments and WCS BMP-1 remain declared external dependencies. The corrected native action-context fixture compiles, but its one hidden/muted run stops after 54 passing assertions at its first clock check, before fuel selection or transfer. It retains two script test failures and thirteen underlying installed-resource errors, with confirmed cleanup and unchanged inputs.

The fixture had reconstructed its start time by adding/subtracting 120000 milliseconds; float rounding could put that value after the current tick. It now stores the original start directly. Actual clock initialization fails before the fix and passes afterward across fractional timestamps. All 263 regression programs pass. The timestamp fix has not been rerun natively; refuelling, interruption/depletion and repair consumption remain unverified. The fixture is opt-in and does not change ordinary gameplay. Original missions, existing working changes and the packaged handoff are preserved. Evidence and scope.

The 1 October bounded refuelling attempt failed during native compilation: SCR_FuelManagerComponent.GetOwner is unavailable in the installed API. The failed run retains all compiler errors and zero executed assertions. The experimental probe, selector and runner changes were removed; the previously validated gameplay source was restored byte-for-byte. No fuel transfer, interruption or empty-can refusal was exercised. One hidden/muted attempt ran, with confirmed cleanup and unchanged source/external inputs during execution. The archived policy checks cover conservation and callback bookkeeping only. The integrated regression attempt also exposed a missing fixture stub in the deadline harness; both failures are retained. A future attempt must correct component identity checks and update that harness before execution. Review also found that action world position defaults to vehicle origin before context initialization; the next fixture must pin the existing native fuel-action context for approach geometry. Repair consumption remains pending.

The Southern normal-route run completes 63 scripted assertions and one round, including the real cache's original site-owned kit with 20/20 native supplies and two distinct cans with 5/20 litres each. This confirms physical insertion alongside the existing route stock; the route continues through clues, interrupted/resumed defence, extraction and results. Zero script/runtime failures and thirteen installed-resource errors are retained, so strict qualification still fails. Source/dependency invariance and private cleanup are confirmed. The configuration and shared read-only stock probe also pass regression checks. Actual held repair/refuel consumption and remote ownership remain unverified. The subsequent HQ reservation change has separate integrated-source validation; the route archive keeps its exact earlier snapshot.

The prior Southern stock contained no repair wrench or fuel can. Stock UAZ inheritance already provides repair and left/right refuelling actions. The vanilla wrench contains a repair support station and gadget consumer but no supply container, so this successor prefab adds one finite native container. The container uses the same native configuration shape as vanilla's portable medical kit; no original Escapists content is reused. Both underlying items have native equip/gadget support, so no new scripted action or interaction bypass is added.

vehicle-maintenance-source-evidence.json records the locally installed vanilla paths and hashes used for this audit. Configuration checks cover finite stock, resource identity, limits and unchanged clue redundancy. The native stock/transport run passes 131 assertions with zero captured script/runtime/engine errors. At the historical Western fixture it confirms exactly one site-owned kit with 20/20 supply units and two distinct site-owned cans, each with 5/20 litres, in the actual cache inventory. It also repeats lock/entry, scripted vehicle occupancy, engine, fuel-loss and no-replacement checks. Inputs remained unchanged and private cleanup was confirmed. Consuming repair supplies and transferring fuel through ordinary held actions remain pending; stock inspection does not qualify those interactions. A future bounded test should use the existing cache/UAZ, capture resource and fuel values before/after a native repair/refuel action, confirm depletion and no duplicate stock, and preserve actual native eligibility failures. No actor, vehicle, faction, physics or damage override is needed in the gameplay implementation.