Capture wonkyness of extinguishing urn

This commit is contained in:
NHOrus 2017-07-02 10:50:07 +03:00 committed by Eric S. Raymond
parent 664b4cf4d7
commit a5478639b6
6 changed files with 33 additions and 23 deletions

View file

@ -888,7 +888,7 @@ static int pour(token_t verb, token_t obj)
game.prop[PLANT2] = game.prop[PLANT];
return GO_MOVE;
} else {
state_change(DOOR, (obj == OIL) ? DOOR_UNRUSTED: DOOR_RUSTED);
state_change(DOOR, (obj == OIL) ? DOOR_UNRUSTED : DOOR_RUSTED);
return GO_CLEAROBJ;
}
}

40
main.c
View file

@ -378,26 +378,26 @@ static bool dwarfmove(void)
game.newloc = travel[kk].dest;
/* Have we avoided a dwarf encounter? */
if (SPECIAL(game.newloc))
continue;
continue;
else if (!INDEEP(game.newloc))
continue;
else if (game.newloc == game.odloc[i])
continue;
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;
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++].stop);
(!travel[kk++].stop);
tk[j] = game.odloc[i];
if (j >= 2)
--j;
@ -497,7 +497,7 @@ static bool traveleq(long a, long b)
/* Are two travel entries equal for purposes of skip after failed condition? */
{
return (travel[a].cond == travel[b].cond)
&& (travel[a].dest == travel[b].dest);
&& (travel[a].dest == travel[b].dest);
}
/* Given the current location in "game.loc", and a motion verb number in
@ -637,7 +637,7 @@ static bool playermove( int motion)
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
++te_tmp;
} while
(traveleq(travel_entry, te_tmp));
(traveleq(travel_entry, te_tmp));
travel_entry = te_tmp;
}
@ -679,7 +679,7 @@ static bool playermove( int motion)
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
++te_tmp;
} while
(traveleq(travel_entry, te_tmp));
(traveleq(travel_entry, te_tmp));
travel_entry = te_tmp;
continue; /* goto L12 */
case 3:

View file

@ -2009,13 +2009,17 @@ I'm afraid I don't understand.
The urn is now dark.
> extinguish urn
The urn is now dark.
> fly
If you mean to use the persian rug, it does not appear inclined to
cooperate.
You scored 267 out of a possible 430, using 340 turns.
You scored 267 out of a possible 430, using 341 turns.
You have reached "Junior Master" status.

View file

@ -343,4 +343,5 @@ fill urn
read urn
extinguish
extinguish urn
extinguish urn
fly

View file

@ -1981,8 +1981,12 @@ A small urn is embedded in the rock.
There is nothing here with which to fill it.
> extinguish urn
You scored 267 out of a possible 430, using 332 turns.
The urn is now dark.
You scored 267 out of a possible 430, using 333 turns.
You have reached "Junior Master" status.

View file

@ -334,3 +334,4 @@ n
drop bottle
n
fill urn
extinguish urn