Name the lamp, grate, and bird states.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index 724194df110d6f73d5434a47f4b9980e8daf8963..cbcd45c4f0a7cc61bb60f3cc1ea049fe9553df4d 100644 (file)
--- a/main.c
+++ b/main.c
@@ -188,11 +188,11 @@ static bool fallback_handler(char *buf)
  *  notes). */
 static void checkhints(void)
 {
-    if (COND[game.loc] >= game.conds) {
+    if (conditions[game.loc] >= game.conds) {
         for (int hint = 0; hint < HINT_COUNT; hint++) {
             if (game.hinted[hint])
                 continue;
-            if (!CNDBIT(game.loc, hint + 1 + HBASE))
+            if (!CNDBIT(game.loc, hint + 1 + COND_HBASE))
                 game.hintlc[hint] = -1;
             ++game.hintlc[hint];
             /*  Come here if he's been long enough at required loc(s) for some
@@ -203,7 +203,7 @@ static void checkhints(void)
                 switch (hint) {
                 case 0:
                     /* cave */
-                    if (game.prop[GRATE] == 0 && !HERE(KEYS))
+                    if (game.prop[GRATE] == GRATE_CLOSED && !HERE(KEYS))
                         break;
                     game.hintlc[hint] = 0;
                     return;
@@ -303,7 +303,7 @@ static bool spotted_by_pirate(int i)
         }
     }
     /* Force chest placement before player finds last treasure */
-    if (game.tally == 1 && snarfed == 0 && game.place[CHEST] == LOC_NOWHERE && HERE(LAMP) && game.prop[LAMP] == 1) {
+    if (game.tally == 1 && snarfed == 0 && game.place[CHEST] == LOC_NOWHERE && HERE(LAMP) && game.prop[LAMP] == LAMP_BRIGHT) {
         rspeak(PIRATE_SPOTTED);
         movechest = true;
     }
@@ -355,7 +355,7 @@ static bool dwarfmove(void)
      *  means dwarves won't follow him into dead end in maze, but
      *  c'est la vie.  They'll wait for him outside the dead
      *  end. */
-    if (game.loc == 0 || FORCED(game.loc) || CNDBIT(game.newloc, NOARRR))
+    if (game.loc == 0 || FORCED(game.loc) || CNDBIT(game.newloc, COND_NOARRR))
         return true;
 
     /* Dwarf activity level ratchets up */
@@ -369,7 +369,7 @@ static bool dwarfmove(void)
      *  the 5 dwarves.  If any of the survivors is at loc,
      *  replace him with the alternate. */
     if (game.dflag == 1) {
-        if (!INDEEP(game.loc) || (PCT(95) && (!CNDBIT(game.loc, NOBACK) || PCT(85))))
+        if (!INDEEP(game.loc) || (PCT(95) && (!CNDBIT(game.loc, COND_NOBACK) || PCT(85))))
             return true;
         game.dflag = 2;
         for (int i = 1; i <= 2; i++) {
@@ -413,7 +413,7 @@ static bool dwarfmove(void)
                                 j >= 20 ||
                                 game.newloc == game.dloc[i] ||
                                 FORCED(game.newloc) ||
-                                (i == PIRATE && CNDBIT(game.newloc, NOARRR)) ||
+                                (i == PIRATE && CNDBIT(game.newloc, COND_NOARRR)) ||
                                 labs(TRAVEL[kk]) / 1000000 == 100);
                 if (!avoided) {
                     tk[j++] = game.newloc;
@@ -501,7 +501,7 @@ static void croak(void)
     else {
         game.place[WATER] = game.place[OIL] = LOC_NOWHERE;
         if (TOTING(LAMP))
-            game.prop[LAMP] = 0;
+            game.prop[LAMP] = LAMP_DARK;
         for (int j = 1; j <= NOBJECTS; j++) {
             int i = NOBJECTS + 1 - j;
             if (TOTING(i)) {
@@ -541,7 +541,7 @@ static bool playermove(token_t verb, int motion)
         game.oldloc = game.loc;
         k2 = 0;
         if (motion == game.loc)k2 = FORGOT_PATH;
-        if (CNDBIT(game.loc, NOBACK))k2 = TWIST_TURN;
+        if (CNDBIT(game.loc, COND_NOBACK))k2 = TWIST_TURN;
         if (k2 == 0) {
             for (;;) {
                 scratchloc = MOD((labs(TRAVEL[kk]) / 1000), 1000);
@@ -761,7 +761,7 @@ static bool closecheck(void)
      *  know the bivalve is an oyster.  *And*, the dwarves must
      *  have been activated, since we've found chest. */
     if (game.clock1 == 0) {
-        game.prop[GRATE] = 0;
+        game.prop[GRATE] = GRATE_CLOSED;
         game.prop[FISSURE] = 0;
         for (int i = 1; i <= NDWARVES; i++) {
             game.dseen[i] = false;
@@ -799,7 +799,7 @@ static bool closecheck(void)
          *  objects he might be carrying (lest he have some which
          *  could cause trouble, such as the keys).  We describe the
          *  flash of light and trundle back. */
-        game.prop[BOTTLE] = PUT(BOTTLE, LOC_NE, 1);
+        game.prop[BOTTLE] = PUT(BOTTLE, LOC_NE, EMPTY_BOTTLE);
         game.prop[PLANT] = PUT(PLANT, LOC_NE, 0);
         game.prop[OYSTER] = PUT(OYSTER, LOC_NE, 0);
         OBJTXT[OYSTER] = 3;
@@ -839,7 +839,7 @@ static bool closecheck(void)
 static void lampcheck(void)
 /* Check game limit and lamp timers */
 {
-    if (game.prop[LAMP] == 1)
+    if (game.prop[LAMP] == LAMP_BRIGHT)
         --game.limit;
 
     /*  Another way we can force an end to things is by having the
@@ -848,16 +848,16 @@ static void lampcheck(void)
      *  here, in which case we replace the batteries and continue.
      *  Second is for other cases of lamp dying.  Eve after it goes
      *  out, he can explore outside for a while if desired. */
-    if (game.limit <= WARNTIME && HERE(BATTERY) && game.prop[BATTERY] == 0 && HERE(LAMP)) {
+    if (game.limit <= WARNTIME && HERE(BATTERY) && game.prop[BATTERY] == FRESH_BATTERIES && HERE(LAMP)) {
         rspeak(REPLACE_BATTERIES);
-        game.prop[BATTERY] = 1;
+        game.prop[BATTERY] = DEAD_BATTERIES;
         if (TOTING(BATTERY))
             DROP(BATTERY, game.loc);
         game.limit += BATTERYLIFE;
         game.lmwarn = false;
     } else if (game.limit == 0) {
         game.limit = -1;
-        game.prop[LAMP] = 0;
+        game.prop[LAMP] = LAMP_DARK;
         if (HERE(LAMP))
             rspeak(LAMP_OUT);
     } else if (game.limit <= WARNTIME) {
@@ -865,7 +865,8 @@ static void lampcheck(void)
             game.lmwarn = true;
             int spk = GET_BATTERIES;
             if (game.place[BATTERY] == LOC_NOWHERE)spk = LAMP_DIM;
-            if (game.prop[BATTERY] == 1)spk = MISSING_BATTERYIES;
+            if (game.prop[BATTERY] == DEAD_BATTERIES)
+               spk = MISSING_BATTERIES;
             rspeak(spk);
         }
     }
@@ -938,7 +939,7 @@ static bool do_command(FILE *cmdin)
      *  wants to go.  If so, the dwarf's blocking his way.  If
      *  coming from place forbidden to pirate (dwarves rooted in
      *  place) let him get out (and attacked). */
-    if (game.newloc != game.loc && !FORCED(game.loc) && !CNDBIT(game.loc, NOARRR)) {
+    if (game.newloc != game.loc && !FORCED(game.loc) && !CNDBIT(game.loc, COND_NOARRR)) {
         for (size_t i = 1; i <= NDWARVES - 1; i++) {
             if (game.odloc[i] == game.newloc && game.dseen[i]) {
                 game.newloc = game.loc;