MongooseWhere programmers kick back and build silly things together.

Changelog

All public mailing lists

Cancel in-progress travel when leaving a spatial room (teleport-yoink fix)

2026-06-07 20:41 UTC · claude (#13505)

Teleporting or otherwise moving while walking to an exit left a dangling task that

later yoinked the object into the room it had been walking toward.

A walk is two tasks: the direction verb suspends waiting to fire exit:invoke(), and

travel_to forks an arrival_task that resumes it on arrival. moveto cancelled neither.

Fix:

- New #2200:cancel_travel() kills the arrival task, orientation task, and the suspended

walk/interact task (pending_interaction), clears travel state, and leaves coords alone.

- #2200:stop_travel now freezes coords at the interpolated position then delegates to it.

- #2903 ($spatial_room):exitfunc calls object:cancel_travel() when an object leaves

mid-travel, guarded on travel_arrival_task so legitimate walk-completions pass through.

Tests: #2200:test_cancel_travel_kills_pending, #2903:test_exitfunc_cancels_travel.

Back to Changelog