Movement.route truncates silently at 128 tiles #23

Closed
opened 2026-07-27 22:31:58 +00:00 by sickday · 0 comments
Owner

World.Movement.trace/2 ends in Enum.take(@max_path), which keeps the first
128 steps of a route. A longer route is silently shortened: the player walks 128
tiles, stops, and is told nothing. No message, no log, no marker cleared.

The bound is documented as unreachable because the client cannot click outside
its 104x104 scene, but that reasons about distance and the cap is on length.
A route that doubles back through a building or around water can be far longer
than the straight-line distance to its destination while landing well inside the
scene.

This is the same shape as the silent-cap rule the project already applies to
workflow coverage: a bound that drops work without saying so reads as "we walked
you as far as you asked" when it did not.

Shape of a fix

Either log when the cap truncates, or treat a truncated route the way an
unreachable destination is treated and walk to the last tile the search actually
reached. The second is closer to what the game does.

`World.Movement.trace/2` ends in `Enum.take(@max_path)`, which keeps the **first** 128 steps of a route. A longer route is silently shortened: the player walks 128 tiles, stops, and is told nothing. No message, no log, no marker cleared. The bound is documented as unreachable because the client cannot click outside its 104x104 scene, but that reasons about *distance* and the cap is on *length*. A route that doubles back through a building or around water can be far longer than the straight-line distance to its destination while landing well inside the scene. This is the same shape as the silent-cap rule the project already applies to workflow coverage: a bound that drops work without saying so reads as "we walked you as far as you asked" when it did not. ### Shape of a fix Either log when the cap truncates, or treat a truncated route the way an unreachable destination is treated and walk to the last tile the search actually reached. The second is closer to what the game does.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Revenant/Server#23
No description provided.