Fix GitLab issue #13 - The "eat" command exhibits strange behavior

The problem wasn't actually with "eat" but with "grate".  Processing
of any two-word command with an object of "grate", when given at certain
locations including the start, inappropriately jumped directly
to the movement code (ignoring the verb).

There was a similar bug in the ancestral 2.5, though it manifested slightly
differently.
This commit is contained in:
Eric S. Raymond 2017-06-21 16:54:10 -04:00
parent 6dbe6f081c
commit fd6da15373
3 changed files with 6 additions and 10 deletions

View file

@ -1011,8 +1011,6 @@ int action(FILE *input, struct command_t *command)
if (game.loc == LOC_COBBLE || game.loc == LOC_DEBRIS || game.loc == LOC_AWKWARD ||
game.loc == LOC_BIRD || game.loc == LOC_PITTOP)
command->obj = ENTRNC;
if (command->obj != GRATE)
return GO_MOVE;
} else if (command->obj == DWARF && ATDWRF(game.loc) > 0)
/* FALL THROUGH */;
else if ((LIQUID() == command->obj && HERE(BOTTLE)) || command->obj == LIQLOC(game.loc))

View file

@ -47,9 +47,7 @@ A three foot black rod with a rusty star on an end lies nearby.
> eat grate
You're in debris room.
A three foot black rod with a rusty star on an end lies nearby.
Don't be ridiculous!
> w

View file

@ -33,7 +33,7 @@ You're in front of building.
> eat grate
You're in front of building.
Don't be ridiculous!
> in
@ -109,9 +109,7 @@ You're in front of building.
I don't know where the cave is, but hereabouts no stream can run on
the surface for long. I would try the stream.
You are standing at the end of a road before a small brick building.
Around you is a forest. A small stream flows out of the building and
down a gully.
You're in front of building.
> enter stream
@ -133,7 +131,9 @@ Carry what?
I am unsure how you are facing. Use compass points or nearby objects.
You're in front of building.
You are standing at the end of a road before a small brick building.
Around you is a forest. A small stream flows out of the building and
down a gully.
> eat