X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=main.c;h=198a4ccb55868c4505fd9dfb8252392bd0fcd664;hp=f0dbb3a988fe7461a6ecccddfa7463f27467f3d8;hb=87452af44895728466a9a62de95a0e81863b6cfd;hpb=5cdaa301dcf6ececc1d2a9e340d8da698a9f55d8 diff --git a/main.c b/main.c index f0dbb3a..198a4cc 100644 --- a/main.c +++ b/main.c @@ -11,6 +11,10 @@ * ESR apologizes for the remaing gotos (now confined to one function * in this file - there used to be over 350 of them, *everywhere*). * Applying the Structured Program Theorem can be hard. + * + * Copyright (c) 1977, 2005 by Will Crowther and Don Woods + * Copyright (c) 2017 by Eric S. Raymond + * SPDX-License-Identifier: BSD-2-clause */ #include @@ -1085,10 +1089,10 @@ Lclearobj: #ifdef BROKEN /* Handling of actionless object followed by objectless action */ - if (preserve.type1 == OBJECT && preserve.type2 == NO_WORD_TYPE && command.id2 == 0) + if (preserve.word[0].type == OBJECT && preserve.word[1].type == NO_WORD_TYPE && command.word[1].id == 0 && command.word[0].id == CARRY) command.obj = preserve.obj; -#endif - +#endif /* BROKEN */ + ++game.turns; if (closecheck()) { @@ -1175,6 +1179,10 @@ Lookup: command.verb = command.word[0].id; break; case NUMERIC: // LCOV_EXCL_LINE + if (!settings.oldstyle) { + sspeak(DONT_KNOW, command.word[0].raw); + goto Lclearobj; + } default: // LCOV_EXCL_LINE BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE }