Files
2026-10-30 18:56:57 +01:00

84 lines
10 KiB
Markdown

# 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.
## Existing terrain fuel stations
Escape preserves existing support-station registrations when replacing a
terrain scenario's game mode, on both the authority and joining clients that
already loaded the original mode. Only surviving ranged stations in the same
world are restored. Native fuel stock, range, faction, damage and transfer
checks remain in charge; no fuel is created or supplied by the handover.
The [30 October reproduction](evidence/terrain-fuel-pumps-2026-10-30/report.json)
loaded Game Master Everon and used an existing petrol pump with a parked UAZ.
Before the fix, takeover reduced the registered fuel stations from 21 to zero:
the native action left the UAZ at 19.5 litres. Registering the identical pump
restored transfer. With the fix, all 21 remained registered and the normal
action raised fuel from 19.5 to 21.5833 litres, with the corresponding pump
deduction checked within 0.02 litres. These were scripted local Workbench
actions, not a remote-client or ordinary held-input qualification. Both runs
retained 42 engine/resource diagnostic lines and exited nonzero under the strict
runner; the pump checks completed without script/runtime failures and cleanup
was confirmed. Fuel-can and repair qualification below is separate.
## Audit and validation limits
A later [single snapshot follow-up](evidence/native-2026-10-01-refuel-snapshot/review.json), 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](evidence/native-2026-10-01-refuel-range/report.json) 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](evidence/field-update-2026-10-01/review.json).
The subsequent [clock-corrected native run](evidence/native-2026-10-01-refuel-clock/review.json) 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](evidence/native-2026-10-01-refuel-clock/reach-review.json) 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](evidence/native-2026-10-01-refuel-context/report.json) 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](evidence/refuel-context-2026-10-01/review.json).
The **1 October bounded refuelling attempt** failed during native compilation:
`SCR_FuelManagerComponent.GetOwner` is unavailable in the installed API. The
[failed run](evidence/native-2026-10-01-maintenance-refuel/report.json) 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](evidence/native-2026-10-01-southern-maintenance/report.json)
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](evidence/native-2026-09-20-062011-maintenance-stock/report.json) 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.