- scratchloc = travel[travel_entry].dest;
- if (scratchloc != motion) {
- if (!SPECIAL(scratchloc)) {
- if (FORCED(scratchloc) && travel[tkey[scratchloc]].dest == motion)
+ enum desttype_t desttype = travel[travel_entry].desttype;
+ scratchloc = travel[travel_entry].destval;
+ if (desttype != dest_goto || scratchloc != motion) {
+ if (desttype == dest_goto) {
+ if (FORCED(scratchloc) && travel[tkey[scratchloc]].destval == motion)