X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=actions.c;h=cbf73f27417b1535dac27c6558ba7a73fea17bdb;hp=70d5acd127db9945dcae2ec010605085b04cd420;hb=f862f9f1d508e00bccc208e66b1d31a5e530ab3e;hpb=c8dbb241e87d600776932dd20935513579fa597c diff --git a/actions.c b/actions.c index 70d5acd..cbf73f2 100644 --- a/actions.c +++ b/actions.c @@ -21,9 +21,8 @@ static int attack(FILE *input, long verb, token_t obj) * enemies, or no enemies but 2 others. */ { int spk = ACTSPK[verb]; - int d = ATDWRF(game.loc); - if (obj == 0) { - if (d > 0) + if (obj == 0 || obj == INTRANSITIVE) { + if (ATDWRF(game.loc) > 0) obj = DWARF; if (HERE(SNAKE))obj = obj * NOBJECTS + SNAKE; if (AT(DRAGON) && game.prop[DRAGON] == 0)obj = obj * NOBJECTS + DRAGON; @@ -65,7 +64,7 @@ static int attack(FILE *input, long verb, token_t obj) if (obj == DRAGON)spk = ALREADY_DEAD; if (obj == TROLL)spk = ROCKY_TROLL; if (obj == OGRE)spk = OGRE_DODGE; - if (obj == OGRE && d > 0) { + if (obj == OGRE && ATDWRF(game.loc) > 0) { RSPEAK(spk); RSPEAK(KNIFE_THROWN); DESTROY(OGRE); @@ -711,7 +710,7 @@ static int lock(token_t verb, token_t obj) if (AT(GRATE))obj = GRATE; if (obj != 0 && HERE(CHAIN)) return GO_UNKNOWN; if (HERE(CHAIN))obj = CHAIN; - if (obj == 0) { + if (obj == 0 || obj == INTRANSITIVE) { RSPEAK(spk); return GO_CLEAROBJ; } @@ -732,7 +731,7 @@ static int lock(token_t verb, token_t obj) return chain(verb); if (game.closng) { spk = EXIT_CLOSED; - if (!game.panic)game.clock2 = 15; + if (!game.panic)game.clock2 = PANICTIME; game.panic = true; } else { spk = game.prop[GRATE] ? GRATE_LOCKED : ALREADY_LOCKED;