Capture wonkyness of extinguishing urn
This commit is contained in:
parent
664b4cf4d7
commit
a5478639b6
6 changed files with 33 additions and 23 deletions
|
@ -888,7 +888,7 @@ static int pour(token_t verb, token_t obj)
|
||||||
game.prop[PLANT2] = game.prop[PLANT];
|
game.prop[PLANT2] = game.prop[PLANT];
|
||||||
return GO_MOVE;
|
return GO_MOVE;
|
||||||
} else {
|
} else {
|
||||||
state_change(DOOR, (obj == OIL) ? DOOR_UNRUSTED: DOOR_RUSTED);
|
state_change(DOOR, (obj == OIL) ? DOOR_UNRUSTED : DOOR_RUSTED);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
40
main.c
40
main.c
|
@ -378,26 +378,26 @@ static bool dwarfmove(void)
|
||||||
game.newloc = travel[kk].dest;
|
game.newloc = travel[kk].dest;
|
||||||
/* Have we avoided a dwarf encounter? */
|
/* Have we avoided a dwarf encounter? */
|
||||||
if (SPECIAL(game.newloc))
|
if (SPECIAL(game.newloc))
|
||||||
continue;
|
continue;
|
||||||
else if (!INDEEP(game.newloc))
|
else if (!INDEEP(game.newloc))
|
||||||
continue;
|
continue;
|
||||||
else if (game.newloc == game.odloc[i])
|
else if (game.newloc == game.odloc[i])
|
||||||
continue;
|
continue;
|
||||||
else if (j > 1 && game.newloc == tk[j - 1])
|
else if (j > 1 && game.newloc == tk[j - 1])
|
||||||
continue;
|
continue;
|
||||||
else if (j >= DIM(tk) - 1)
|
else if (j >= DIM(tk) - 1)
|
||||||
continue;
|
continue;
|
||||||
else if (game.newloc == game.dloc[i])
|
else if (game.newloc == game.dloc[i])
|
||||||
continue;
|
continue;
|
||||||
else if (FORCED(game.newloc))
|
else if (FORCED(game.newloc))
|
||||||
continue;
|
continue;
|
||||||
else if (i == PIRATE && CNDBIT(game.newloc, COND_NOARRR))
|
else if (i == PIRATE && CNDBIT(game.newloc, COND_NOARRR))
|
||||||
continue;
|
continue;
|
||||||
else if (travel[kk].nodwarves)
|
else if (travel[kk].nodwarves)
|
||||||
continue;
|
continue;
|
||||||
tk[j++] = game.newloc;
|
tk[j++] = game.newloc;
|
||||||
} while
|
} while
|
||||||
(!travel[kk++].stop);
|
(!travel[kk++].stop);
|
||||||
tk[j] = game.odloc[i];
|
tk[j] = game.odloc[i];
|
||||||
if (j >= 2)
|
if (j >= 2)
|
||||||
--j;
|
--j;
|
||||||
|
@ -497,7 +497,7 @@ static bool traveleq(long a, long b)
|
||||||
/* Are two travel entries equal for purposes of skip after failed condition? */
|
/* Are two travel entries equal for purposes of skip after failed condition? */
|
||||||
{
|
{
|
||||||
return (travel[a].cond == travel[b].cond)
|
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
|
/* 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
|
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
|
||||||
++te_tmp;
|
++te_tmp;
|
||||||
} while
|
} while
|
||||||
(traveleq(travel_entry, te_tmp));
|
(traveleq(travel_entry, te_tmp));
|
||||||
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
|
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
|
||||||
++te_tmp;
|
++te_tmp;
|
||||||
} while
|
} while
|
||||||
(traveleq(travel_entry, te_tmp));
|
(traveleq(travel_entry, te_tmp));
|
||||||
travel_entry = te_tmp;
|
travel_entry = te_tmp;
|
||||||
continue; /* goto L12 */
|
continue; /* goto L12 */
|
||||||
case 3:
|
case 3:
|
||||||
|
|
|
@ -2009,13 +2009,17 @@ I'm afraid I don't understand.
|
||||||
|
|
||||||
The urn is now dark.
|
The urn is now dark.
|
||||||
|
|
||||||
|
> extinguish urn
|
||||||
|
|
||||||
|
The urn is now dark.
|
||||||
|
|
||||||
> fly
|
> fly
|
||||||
|
|
||||||
If you mean to use the persian rug, it does not appear inclined to
|
If you mean to use the persian rug, it does not appear inclined to
|
||||||
cooperate.
|
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.
|
You have reached "Junior Master" status.
|
||||||
|
|
||||||
|
|
|
@ -343,4 +343,5 @@ fill urn
|
||||||
read urn
|
read urn
|
||||||
extinguish
|
extinguish
|
||||||
extinguish urn
|
extinguish urn
|
||||||
|
extinguish urn
|
||||||
fly
|
fly
|
||||||
|
|
|
@ -1981,8 +1981,12 @@ A small urn is embedded in the rock.
|
||||||
|
|
||||||
There is nothing here with which to fill it.
|
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.
|
You have reached "Junior Master" status.
|
||||||
|
|
||||||
|
|
|
@ -334,3 +334,4 @@ n
|
||||||
drop bottle
|
drop bottle
|
||||||
n
|
n
|
||||||
fill urn
|
fill urn
|
||||||
|
extinguish urn
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue