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))