Skip to content

Expose vehicle caravan action boundaries - #359

Open
sviyh wants to merge 1 commit into
SmashPhil:developfrom
sviyh:feat/caravan-action-boundaries-upstream
Open

Expose vehicle caravan action boundaries#359
sviyh wants to merge 1 commit into
SmashPhil:developfrom
sviyh:feat/caravan-action-boundaries-upstream

Conversation

@sviyh

@sviyh sviyh commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Route vehicle caravan destinations through vanilla Dialog_FormCaravan.Notify_ChoseRoute while substituting the vehicle-specific exit tile.
  • Lift the final vehicle-caravan send action into a named public method.
  • Provide stable action boundaries for Multiplayer compatibility without duplicating the surrounding vanilla transaction.

Root cause

Vehicle Framework completed route selection in a custom callback that duplicated part of vanilla's state, estimate, sound, and automatic-supply transaction. Its final send action was also a local function. Multiplayer compatibility therefore had to target lower-level implementation details, and the copied route flow could drift from vanilla behavior.

Approach

The vehicle route planner now returns through vanilla Notify_ChoseRoute. A narrow transpiler replaces only vanilla's exit-tile calculation, selecting CaravanHelper.BestExitTileToGoTo when vehicles are present and retaining the vanilla fallback otherwise. The existing final send body is lifted unchanged into CaravanFormation.TryFormAndSendCaravan.

Test plan

  • Vehicle Framework Release build succeeds with no warnings or errors.
  • Vanilla Vehicles Expanded rebuilds against the branch assemblies.
  • No-vehicle route selection retains vanilla exit selection, ETA, and automatic travel supplies.
  • Vehicle route acceptance returns to the caravan dialog with valid estimates and automatic supplies.
  • Direct vehicle send starts one forming lord with the selected vehicle, operator, and route intact across 120 ticks.
  • Warning/confirmation send starts the same transaction exactly once and remains stable across 120 ticks.
  • Manual deployment smoke-tested; the separately observed map-edge warning was isolated against the unmodified upstream base and is not introduced by this diff.

Route vehicle selection through the vanilla completion transaction while substituting the vehicle-specific exit tile, and expose the final send action so Multiplayer compatibility can register the intended boundary directly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant