-Lclearobj:
- game.oldobj = command.obj;
-
- checkhints();
-
- /* If closing time, check for any objects being toted with
- * game.prop < 0 and stash them. This way objects won't be
- * described until they've been picked up and put down
- * separate from their respective piles. */
- if (game.closed) {
- if (game.prop[OYSTER] < 0 && TOTING(OYSTER))
- pspeak(OYSTER, look, 1, true);
- for (size_t i = 1; i <= NOBJECTS; i++) {
- if (TOTING(i) && game.prop[i] < 0)
- game.prop[i] = STASHED(i);
- }
- }
- game.wzdark = DARK(game.loc);
- if (game.knfloc > 0 && game.knfloc != game.loc)
- game.knfloc = 0;
-
- // Get command input from user
- if (!get_command_input(&command))
- return false;
-
- ++game.turns;
-
- if (closecheck()) {
- if (game.closed)
- return true;
- } else
- lampcheck();
-
- if (command.type1 == MOTION && command.id1 == ENTER
- && (command.id2 == STREAM || command.id2 == WATER)) {
- if (LIQLOC(game.loc) == WATER)
- rspeak(FEET_WET);
- else
- rspeak(WHERE_QUERY);
-
- goto Lclearobj;
- }
-
- /* Ugly translationms to get around word polyvalence. */
- if (command.type1 == ACTION && command.id1 == SAY
- && command.id2 != WORD_NOT_FOUND && command.id2 != WORD_EMPTY) {
- command.id1 = command.id2;
- command.type1 = command.type2;
- strncpy(command.raw1, command.raw2, LINESIZE - 1);
- command.id2 = WORD_EMPTY;
- command.type2 = NO_WORD_TYPE;
- strncpy(command.raw2, "", LINESIZE - 1);
- } else if (command.type1 == OBJECT) {
- if (!((command.id1 != WATER && command.id1 != OIL) || (command.id2 != PLANT && command.id2 != DOOR))) {
- if (AT(command.id2)) {
- command.id2 = POUR;
- command.type2 = ACTION;
- strncpy(command.raw2, "POUR", LINESIZE - 1);
- command.wd2 = token_to_packed("POUR");
+ if (strncasecmp(command.word[0].raw, "west", sizeof("west")) == 0) {
+ if (++game.iwest == 10)
+ rspeak(W_IS_WEST);
+ }
+ if (strncasecmp(command.word[0].raw, "go", sizeof("go")) == 0 && command.word[1].id != WORD_EMPTY) {
+ if (++game.igo == 10)
+ rspeak(GO_UNNEEDED);
+ }
+ if (command.word[0].id == WORD_NOT_FOUND) {
+ /* Gee, I don't understand. */
+ sspeak(DONT_KNOW, command.word[0].raw);
+ clear_command(&command);
+ command_given = false;
+ break;