X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=actions.c;h=ca243b6c13c548dabcb5f15ecb1bb861852d160c;hp=5433a7dad1c0839b90e09f4b2264a66302d64784;hb=342994376a6cc0fc9623cece2b9b85a7557ca47f;hpb=08c40bc9993ce5684077b9ceac492e4fb642a722 diff --git a/actions.c b/actions.c index 5433a7d..ca243b6 100644 --- a/actions.c +++ b/actions.c @@ -930,8 +930,7 @@ static int listen(void) * depending on whether player has drunk dragon's blood. */ if (i == BIRD) mi += 3 * game.blooded; - long packed_zzword = token_to_packed(game.zzword); - pspeak(i, hear, mi, true, packed_zzword); + pspeak(i, hear, mi, true, game.zzword); rspeak(NO_MESSAGE); if (i == BIRD && mi == BIRD_ENDSTATE) DESTROY(BIRD); @@ -1145,18 +1144,19 @@ static int rub(verb_t verb, obj_t obj) static int say(struct command_t *command) /* Say. Echo WD2. Magic words override. */ { - long wd; - enum wordtype type; - get_vocab_metadata(command->raw2, &wd, &type); - if (wd == XYZZY || - wd == PLUGH || - wd == PLOVER || - wd == FEE || - wd == FIE || - wd == FOE || - wd == FOO || - wd == FUM || - wd == PART) { + if (command->type2 == MOTION && + (command->id2 == XYZZY || + command->id2 == PLUGH || + command->id2 == PLOVER)) { + return GO_WORD2; + } + if (command->type2 == ACTION && + (command->id2 == FEE || + command->id2 == FIE || + command->id2 == FOE || + command->id2 == FOO || + command->id2 == FUM || + command->id2 == PART)) { return GO_WORD2; } sspeak(OKEY_DOKEY, command->raw2); @@ -1305,20 +1305,7 @@ int action(struct command_t *command) * location. */ if (HERE(command->obj)) /* FALL THROUGH */; - else if (command->obj == GRATE) { - if (game.loc == LOC_START || - game.loc == LOC_VALLEY || - game.loc == LOC_SLIT) { - command->obj = DEPRESSION; - } - if (game.loc == LOC_COBBLE || - game.loc == LOC_DEBRIS || - game.loc == LOC_AWKWARD || - game.loc == LOC_BIRD || - game.loc == LOC_PITTOP) { - command->obj = ENTRANCE; - } - } else if (command->obj == DWARF && atdwrf(game.loc) > 0) + else if (command->obj == DWARF && atdwrf(game.loc) > 0) /* FALL THROUGH */; else if ((LIQUID() == command->obj && HERE(BOTTLE)) || command->obj == LIQLOC(game.loc))