X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=actions.c;h=cbf73f27417b1535dac27c6558ba7a73fea17bdb;hp=59f9942b6715acf1959362b8a1b9413d7ce1aea6;hb=f862f9f1d508e00bccc208e66b1d31a5e530ab3e;hpb=ff7db8b0c8d61c332cfde95530e8ebb2bb1a0c58;ds=sidebyside diff --git a/actions.c b/actions.c index 59f9942..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); @@ -558,7 +557,7 @@ int fill(token_t verb, token_t obj) spk = URN_NOPOUR; if (LIQUID() != 0) spk = BOTTLE_FULL; - if (spk == 107) { + if (spk == BOTTLED_WATER) { game.prop[BOTTLE] = MOD(COND[game.loc], 4) / 2 * 2; k = LIQUID(); if (TOTING(BOTTLE)) @@ -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; @@ -982,7 +981,7 @@ static int wave(token_t verb, token_t obj) return GO_CLEAROBJ; } if (HERE(BIRD))spk = FREE_FLY + MOD(game.prop[BIRD], 2); - if (spk == 206 && game.loc == game.place[STEPS] && game.prop[JADE] < 0) { + if (spk == FREE_FLY && game.loc == game.place[STEPS] && game.prop[JADE] < 0) { DROP(JADE, game.loc); game.prop[JADE] = 0; --game.tally;