8.0 KiB
Finite western-cache mortar courier
This is the first small ground delivery route, not truck/air convoy parity. AI adds twelve finite HE mortar shells once to the already-authored western supply cache (everon-supply-2, 5960/7220), about 224 m from the mortar. Core-only missions retain their current stock. Its existing SiteService-owned container and original patrol supply all resource/actor ownership; no new soldiers, carriers or resource identities are introduced. Existing player scavenging can deny that depot to HQ.
The native cache has a 120000-volume, 80 kg capacity. Twelve shells occupy 19200 volume, but native insertion/callback and exact unique inventory proof determine startup success; capacity is never bypassed. Each initial shell is created once, recorded by exact entity identity, registered with the mode owner and inserted by a native request with a completion callback. The allocation latch closes before its twelve requests and never replenishes partial failure, theft or loss. SiteService retains existing cache ownership for preparation rollback and world teardown; the mode additionally records each new shell so even a failed insertion leaving it on the ground has a cleanup owner. Logistics stop only releases orders; it does not destroy carried items, loot or the cache. Startup proof has a fifteen-second bound. A failed startup records COURIER STARTUP FAILED and permanently stops this optional route.
The mortar samples usable physical inventory at six shells or fewer. HQ's existing unit uplink serializes this distinct supply payload with contact reporting, using the actual original manpack operator and live radio route. HQ only receives it after normal delivery. It carries immutable source group/gun, sampled gun position, round count, message ID and time. Its age is limited to 180 seconds; retries/arrival never rewrite its time. It is separate from the firing report and cannot refresh target intelligence or start an artillery activity.
HQ may temporarily reserve the original western patrol only while it is otherwise eligible, has a current radio, no combat assignment/downlink/owned tactical waypoint, and no currently perceived target. Its actual downlink must finish before movement. A non-manpack original soldier with native inventory capacity carries up to six shells per trip; fewer may fit. The whole existing squad follows normal Move waypoints. Each leg also inserts an owned indefinite Defend behind Move so the original patrol cannot resume during asynchronous loading. Both temporary waypoints are removed on completion/cancellation; pre-existing cycle/children are retained. There are no teleport calls, forced radio routes, new response spawns, forced ammunition counts or replacements.
Each exact shell moves through cache → actual bearer → conscious non-player mortar crew. Both endpoints must remain within twelve 3D metres, original group/body/faction relationships must remain valid, and the precise native destination storage must prove the move in addition to a successful callback. The manpack operator is excluded from delivery/carry duty. The original registered gun must keep its enemy faction and native turret seat; a player, foreign/replaced body, or incapacitated occupant blocks dispatch and cancels active supply even if the surviving original mortar group remains operational. Firing authorization and the existing internal loader-to-gunner transfer remain unchanged. One active trip and one operation are allowed. The same status ID cannot dispatch again; explicit newer observations can support later trips using remaining original stock.
Captured, killed, removed or changed actors, missing gun/cache, status expiry, rejected or ambiguous native inventory work, and stop invalidate authority. Pending native work is not reversible: the exact operation remains quarantined until an explicit failure, definite entity deletion or exact physical completion resolves it, and a late callback never authorizes another trip. Cancellation releases the squad’s HQ reservation immediately; the quarantine prevents a subsequent logistics trip, not normal combat orders. Definite item deletion closes the operation as a loss without delivery credit. Failed/canceled shells are not reissued. Surviving cargo stays in the physical bearer inventory; a canceled patrol resumes its original orders without remote restocking. No automatic return-to-depot inventory move is claimed.
The native fixture is opt-in -errSmoke 1 -errSmokeOutcome mortar-courier, Chat project, one round. It waits for real initial stock, snapshots actual force/body and all 39 shell identities, then moves the original 27 crew rounds into five native fixture boxes to create genuine empty inventory. This explicitly substitutes physical sequestration for firing 27 rounds; it is not ammunition-consumption evidence. Those borrowed shells remain in mission-owned boxes through reset, never deleted to manufacture depletion. The protected actual local prisoner must remain within 300 m of the gun (below normal artillery engagement range); no firing-controller hold, synthetic report insertion, route advancement bypass, actor teleport or new guard is used. The normal production service must deliver a depot shell through actual radio and a >100 m walk by the original bearer. The proof waits for full delivery completion and the original patrol cycle/waypoint to resume with its HQ reservation released, then checks unchanged report time, completed uplink/downlink, exact recipient inventory, all original forces and conservation of original stock.
Archived 094436 compiles the integrated courier sources and verifies the exact initial 27 crew rounds plus 12 distinct depot rounds. Three empty fixture boxes are created; the fourth fixed position fails the native clearance gate, so no original shell is moved and no delivery is established. The revised fixture tests at most 64 points in an eight-by-eight grid with 3 m spacing, offsets x=20..41 m and z=15..36 m from the actual gun. It skips low ground and obstructed points while preserving the original 1.3 m radius/2 m height TraceCilinderUtil check with entity and world flags. Exactly five owned native stores must exist before any original shell can move. Exhaustion fails the fixture and leaves already created boxes with normal mission cleanup; it neither clears obstacles nor creates stock. tests/test_mortar_courier_storage.py executes the actual offset generator and checks bounded unique spacing and the clearance/ownership/depletion barrier. The later native run below separately proves five usable stores. The original 27 shells remain physically sequestered, not fired, consumed or replaced.
tests/test_mortar_logistics.py executes actual production request admission, age/token/distance rules and exact operation polling against narrow API doubles, including late callbacks after cancellation/expiry, source/destination disagreement, lost items, old trip tokens and report replay. This is not native navigation, inventory or multiplayer evidence. The later 095513 native run passes 154 assertions with zero captured errors: five usable stores after fourteen candidates, all 27 crew shells retained, actual supply uplink/downlink, an original bearer walking more than 100 m, exact depot-shell delivery, full trip completion, released reservation and resumed original patrol. All original forces and twelve depot-shell ownership identities are conserved. Default rollback, interrupted-radio/capture/death/ambiguous-operation fixtures and real multiplayer behavior remain unqualified until separately run. Terrain/formation behavior and ordinary infantry carrying capacity may cause a bounded real delivery failure; no success is manufactured in those cases.
The exact inspected successor, independently authored extension and installed vanilla source hashes are retained in finite-mortar-courier-source-evidence.json. These are audit references, not copied original Escapists code or proof of permission to reuse its assets.