Files
EscapistsReintroduced/docs/gameplay-review-2026-09-27.md
T

24 lines
4.5 KiB
Markdown

# Corrections from the 26 September RKS 2 game
The source review and downloaded evidence are in `.local/analysis/rks2-game-2026-09-26/analysis.md`. These changes do not publish the Workshop mod or restart RKS 2.
- Helicopters defer crew allocation until native airframe simulation, fuel and accessible compartments have initialized. They allocate the original crew once, assign the selected faction and group before native boarding, and only then start passenger loading. This ordering matters for ION: the native convenience spawn function attempted to board a Soviet pilot before changing its faction. A failed allocation terminates that attempt with the seat name; it cannot create replacement crew on subsequent ticks. The same path serves search and ammunition helicopters.
- Convoy road selection applies spacing exclusions before choosing its best candidate, so a nearby occupied deployment area cannot hide other valid formations. Failed bounded placement still retains existing convoys and reports the actual deployed/requested counts; it never forces an unsafe spawn or replaces a lost convoy.
- Mounted convoy escorts move to cover and retain native vehicle combat. They no longer receive infantry Defend waypoints, eliminating that convoy path into the missing-Defend-waypoint exception during regroup.
- Mission-owned hunter and mortar boarding tasks only receive completion callbacks while still present in their actor's native utility and while `m_AIInfo` exists. Teardown/dead-actor references cannot invoke the native null-pointer completion callback.
- Hunters preserve their existing route for fresh reports within 75 m of the area actually delivered to them. A materially changed contact still causes an HQ radio order. Delivered road destinations within 50 m of the current waypoint also preserve navigation. Pending or failed radio packets never advance the delivered-area anchor. The original finite vehicle-radio fix remains required.
- Stale native perception entries no longer suspend stuck-vehicle recovery. The same recent-contact predicate controls both combat priority and the movement watchdog. Actual fresh combat retains priority.
- Mortar HQ selection predicts the reported impact area and checks settlement/friendly exclusions before issuing an order. Rejected native aim/fire attempts receive a 60-second cooldown. Exact ballistic and per-shot authorization remain in place, including the eight-round salvo and finite ammunition; these changes do not allow firing through friendly forces or settlements.
- While prisoners are unconscious, medical diagnostics log blood, resilience, bleeding, observed improvement, treatment and natural recovery at most every ten seconds. Defeat additionally records the current per-prisoner snapshot at the decision. Medical damage/recovery rules are unchanged.
Regression tests execute route retention, stale-contact retry, safe callback cleanup and mortar preflight/cooldown behavior. The complete repository check suite passed. Native compilation passed with the installed RHS/WCS dependencies.
Native Workbench evidence is archived under `.local/analysis/gameplay-fixes-2026-09-27/`:
- The vanilla-enemy fixture completed launch, native player sighting and radio delivery, return/landing, destruction delay, replacement and faction takeover before the final faction-before-boarding correction.
- The RHS ION fixture first reproduced the pilot boarding failure. With the correction, all four original flight crew and eight passengers boarded; the helicopter took off and flew its search route. A second ammunition helicopter also seated its crew.
- The final RHS ION fixture did **not** complete: at 18:24:51 it reported `pilot or airframe lost`. The engine also reported an extreme particle-parent velocity and coordinates during the helicopter explosion. That run did not identify the cause. A subsequent close-contact reproduction isolated repeated outward acceleration in `StandOff`; the correction and successful extended RHS flight/return regression are documented in [helicopter-standoff.md](helicopter-standoff.md). The earlier failed run is retained as evidence.
- The runner could not certify cleanup while an exiting `enfMain` process had empty arguments. A subsequent independent `assert_prefix_idle` check passed; the disposable prefix is idle.
Long-session UAZ navigation, convoy combat/placement and mortar eligibility still need a dedicated multiplayer playthrough. Unit/behavior tests and Workbench compilation do not certify those live behaviors. These edits remain local and have not been published or applied to RKS 2.