Improve test coverage.
[open-adventure.git] / actions.c
index 49988ecec4bc9f02e5cf58aeb5d8b843d0c8d9f3..1938d24be054ce6c904e8d0d7247013f23e39c70 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -176,7 +176,7 @@ static void blast(void)
         if (HERE(ROD2))
             game.bonus = SPLATTER_MESSAGE;
         RSPEAK(game.bonus);
-        score(endgame);
+        terminate(endgame);
     }
 }
 
@@ -710,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;
         }
@@ -731,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;
@@ -793,7 +793,7 @@ static int quit(FILE *input)
 /*  Quit.  Intransitive only.  Verify intent and exit if that's what he wants. */
 {
     if (YES(input, REALLY_QUIT, OK_MAN, OK_MAN))
-        score(quitgame);
+        terminate(quitgame);
     return GO_CLEAROBJ;
 }
 
@@ -950,13 +950,6 @@ static int throw (FILE *cmdin, long verb, token_t obj)
     return throw_support((++game.dkill == 1) ? DWARF_SMOKE : KILLED_DWARF);
 }
 
-static int vscore(void)
-/* Score.  Call scoring routine but tell it to return. */
-{
-    score(scoregame);
-    return GO_CLEAROBJ;
-}
-
 static int wake(token_t verb, token_t obj)
 /* Wake.  Only use is to disturb the dwarves. */
 {
@@ -1120,7 +1113,8 @@ int action(FILE *input, enum speechpart part, long verb, token_t obj)
                 blast();
                 return GO_CLEAROBJ;
             case 23: /* SCOR  */
-                return vscore();
+               score(scoregame);
+               return GO_CLEAROBJ;
             case 24: /* FOO   */
                 return bigwords(WD1);
             case 25: /* BRIEF */