X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=main.c;h=766082b13bf481d348417ffb9dc2de9b7576b8d5;hp=4531be72cb9f2ec82780e34809b3605002248173;hb=a6954db376c00b4457d7cc8f4fa4ef32deb9397d;hpb=4f08537e2d1c8c361d08e07a2d67cd3f53e03f40 diff --git a/main.c b/main.c index 4531be7..766082b 100644 --- a/main.c +++ b/main.c @@ -381,21 +381,27 @@ static bool dwarfmove(void) do { game.newloc = travel[kk].dest; /* Have we avoided a dwarf encounter? */ - bool avoided = (SPECIAL(game.newloc) || - !INDEEP(game.newloc) || - game.newloc == game.odloc[i] || - (j > 1 && game.newloc == tk[j - 1]) || - j >= DIM(tk) - 1 || - game.newloc == game.dloc[i] || - FORCED(game.newloc) || - (i == PIRATE && CNDBIT(game.newloc, COND_NOARRR)) || - travel[kk].nodwarves); - if (!avoided) { - tk[j++] = game.newloc; - } - ++kk; + if (SPECIAL(game.newloc)) + continue; + else if (!INDEEP(game.newloc)) + continue; + else if (game.newloc == game.odloc[i]) + continue; + else if (j > 1 && game.newloc == tk[j - 1]) + continue; + else if (j >= DIM(tk) - 1) + continue; + else if (game.newloc == game.dloc[i]) + continue; + else if (FORCED(game.newloc)) + continue; + else if (i == PIRATE && CNDBIT(game.newloc, COND_NOARRR)) + continue; + else if (travel[kk].nodwarves) + continue; + tk[j++] = game.newloc; } while - (!travel[kk - 1].stop); + (!travel[kk++].stop); tk[j] = game.odloc[i]; if (j >= 2) --j;