Improve test coverage.
[open-adventure.git] / actions.c
index 70d5acd127db9945dcae2ec010605085b04cd420..cbf73f27417b1535dac27c6558ba7a73fea17bdb 100644 (file)
--- 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;