Magic-number elimination.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index 2790696de2ca7f7e5af4ce43d0c1d32f3a5c6910..00b8e4617b8e22e47eb61a6d974c809a451dad8e 100644 (file)
--- a/main.c
+++ b/main.c
@@ -765,6 +765,7 @@ static bool closecheck(void)
  *  problems arise from the use of negative prop numbers to suppress
  *  the object descriptions until he's actually moved the objects. */
 {
+    /*  Don't tick game.clock1 unless well into cave (and not at Y2). */
     if (game.tally == 0 && INDEEP(game.loc) && game.loc != LOC_Y2)
         --game.clock1;
 
@@ -936,8 +937,10 @@ static void listobjects(void)
                  *  (so goes the rationalisation). */
             }
             int kk = game.prop[obj];
-            if (obj == STEPS && game.loc == game.fixed[STEPS])
-                kk = 1;
+            if (obj == STEPS)
+               kk = (game.loc == game.fixed[STEPS])
+                   ? STEPS_UP
+                   : STEPS_DOWN;
             pspeak(obj, look, kk, true);
         }
     }
@@ -1019,16 +1022,15 @@ L2600:
         checkhints();
 
         /*  If closing time, check for any objects being toted with
-         *  game.prop < 0 and set the prop to -1-game.prop.  This way
-         *  objects won't be described until they've been picked up
-         *  and put down separate from their respective piles.  Don't
-         *  tick game.clock1 unless well into cave (and not at Y2). */
+         *  game.prop < 0 and stash them.  This way objects won't be
+         *  described until they've been picked up and put down
+         *  separate from their respective piles. */
         if (game.closed) {
             if (game.prop[OYSTER] < 0 && TOTING(OYSTER))
                 pspeak(OYSTER, look, 1, true);
             for (size_t i = 1; i <= NOBJECTS; i++) {
                 if (TOTING(i) && game.prop[i] < 0)
-                    game.prop[i] = -1 - game.prop[i];
+                    game.prop[i] = STASHED(i);
             }
         }
         game.wzdark = DARK(game.loc);