diff --git a/src/lib/subs/shpsub.c b/src/lib/subs/shpsub.c index b343951f..cabe59d1 100644 --- a/src/lib/subs/shpsub.c +++ b/src/lib/subs/shpsub.c @@ -793,7 +793,9 @@ shp_nav_one_sector(struct emp_qelem *list, int dir, natid actor) if (stuck != SHP_STUCK_NOT || (sect.sct_own && relations_with(sect.sct_own, actor) < FRIENDLY)) { - if (stuck == SHP_STUCK_CANAL) + if (stuck == SHP_STUCK_CANAL && + (!sect.sct_own + || relations_with(sect.sct_own, actor) >= FRIENDLY)) sprintf(dp, "is too large to fit into the canal system at %s", xyas(newx, newy, actor)); diff --git a/tests/navi-march/01-navigate-1 b/tests/navi-march/01-navigate-1 index f9ae3e9f..a1da2719 100644 --- a/tests/navi-march/01-navigate-1 +++ b/tests/navi-march/01-navigate-1 @@ -63,7 +63,6 @@ h | enter unfriendly canal -10,2 navi 65 bX h -| BUG: reports "too large" | enter unowned bridge 10,0, friendly -6,0, unfriendly bridge -10,0 navi 70 gh navi 71 gh diff --git a/tests/navi-march/journal.log b/tests/navi-march/journal.log index c3cca2c9..d325f0f3 100644 --- a/tests/navi-march/journal.log +++ b/tests/navi-march/journal.log @@ -291,7 +291,7 @@ Play#1 input navi 65 bX Play#1 command navigate Play#1 output Play#1 1 Flagship is cs cargo ship (#65) - Play#1 output Play#1 1 is too large to fit into the canal system at -10,2 + Play#1 output Play#1 1 can't go to -10,2 Play#1 output Play#1 1 = . Play#1 output Play#1 1 h h h Play#1 output Play#1 1 c c