Gut and rebuild YES() with cleaner approach that doesn't rely on packing.
[open-adventure.git] / actions.c
index cbf73f27417b1535dac27c6558ba7a73fea17bdb..5348d3d80033b1494e701806f6de8c02a6dceef2 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);
     }
 }
 
@@ -792,8 +792,8 @@ static int pour(token_t verb, token_t obj)
 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);
+    if (YES(REALLY_QUIT, OK_MAN, OK_MAN))
+        terminate(quitgame);
     return GO_CLEAROBJ;
 }
 
@@ -820,7 +820,7 @@ static int read(FILE *input, token_t verb, token_t obj)
         return GO_CLEAROBJ;
     }
     if (obj == OYSTER && !game.clshnt) {
-        game.clshnt = YES(input, CLUE_QUERY, WAYOUT_CLUE, OK_MAN);
+        game.clshnt = YES(CLUE_QUERY, WAYOUT_CLUE, OK_MAN);
         return GO_CLEAROBJ;
     }
     PSPEAK(obj, OBJTXT[obj] + game.prop[obj]);
@@ -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 */