- LL=labs(TRAVEL[KK]);
- if(MOD(LL,1000) == 1 || MOD(LL,1000) == K)
- goto L10;
- if(TRAVEL[KK] < 0) {
- /* Non-applicable motion. Various messages depending on
- * word given. */
- SPK=12;
- if(K >= 43 && K <= 50)SPK=52;
- if(K == 29 || K == 30)SPK=52;
- if(K == 7 || K == 36 || K == 37)SPK=10;
- if(K == 11 || K == 19)SPK=11;
- if(verb == FIND || verb == INVENT)SPK=59;
- if(K == 62 || K == 65)SPK=42;
- if(K == 17)SPK=80;
- RSPEAK(SPK);
- return true;
+ for (;;) {
+ LL=labs(TRAVEL[KK]);
+ if (MOD(LL,1000) == 1 || MOD(LL,1000) == K)
+ break;
+ if (TRAVEL[KK] < 0) {
+ /* Non-applicable motion. Various messages depending on
+ * word given. */
+ SPK=12;
+ if (K >= 43 && K <= 50)SPK=52;
+ if (K == 29 || K == 30)SPK=52;
+ if (K == 7 || K == 36 || K == 37)SPK=10;
+ if (K == 11 || K == 19)SPK=11;
+ if (verb == FIND || verb == INVENT)SPK=59;
+ if (K == 62 || K == 65)SPK=42;
+ if (K == 17)SPK=80;
+ RSPEAK(SPK);
+ return true;
+ }
+ KK=KK+1;
+ }
+ LL=LL/1000;
+
+L11:
+ game.newloc=LL/1000;
+ K=MOD(game.newloc,100);
+ if (game.newloc <= 300) {
+ if (game.newloc <= 100)
+ goto L14;
+ if (TOTING(K) || (game.newloc > 200 && AT(K)))
+ goto L16;
+ goto L12;