X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=main.c;h=a27074765e441ced89508b281885fca778c511ac;hb=820737fb80294c53990f229f9d701232b8b4a1f9;hp=37461f7e44d6afd28f5a0998a01e2200be0f53e8;hpb=49d9ef1bee7b11055b7a46e2c2b45bd888e1ccef;p=open-adventure.git diff --git a/main.c b/main.c index 37461f7..a270747 100644 --- a/main.c +++ b/main.c @@ -487,8 +487,8 @@ static void croak(void) * death and exit. */ rspeak(DEATH_CLOSING); terminate(endgame); - } else if (game.numdie == NDEATHS || - !yes(query, yes_response, arbitrary_messages[OK_MAN])) + } else if ( !yes(query, yes_response, arbitrary_messages[OK_MAN]) + || game.numdie == NDEATHS) terminate(endgame); else { game.place[WATER] = game.place[OIL] = LOC_NOWHERE; @@ -1127,10 +1127,16 @@ Lclosecheck: } else { if (!((command.id1 != WATER && command.id1 != OIL) || (command.id2 != PLANT && command.id2 != DOOR))) { if (AT(command.id2)) + { + command.id2 = POUR; command.wd2 = token_to_packed("POUR"); + } } if (command.id1 == CAGE && command.id2 == BIRD && HERE(CAGE) && HERE(BIRD)) + { + command.id1 = CARRY; command.wd1 = token_to_packed("CATCH"); + } } Lookup: if (strncasecmp(command.raw1, "west", sizeof("west")) == 0) { @@ -1186,6 +1192,8 @@ Lookup: goto Lookup; case GO_WORD2: /* Get second word for analysis. */ + command.id1 = command.id2; + command.id2 = WORD_EMPTY; command.wd1 = command.wd2; strncpy(command.raw1, command.raw2, LINESIZE - 1); wordclear(&command.wd2);