Do not compare state to magic numbers
[open-adventure.git] / actions.c
index 567d67ad66621cb1ef9c8dffa2306f96c0db7f8d..43a570e2d74ae3b249f1dc59fa6fc253ffde4f71 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -25,7 +25,7 @@ static int attack(struct command_t *command)
             obj = DWARF;
         if (HERE(SNAKE))
             obj = obj * NOBJECTS + SNAKE;
-        if (AT(DRAGON) && game.prop[DRAGON] == 0)
+        if (AT(DRAGON) && game.prop[DRAGON] == DRAGON_BARS)
             obj = obj * NOBJECTS + DRAGON;
         if (AT(TROLL))
             obj = obj * NOBJECTS + TROLL;
@@ -107,7 +107,7 @@ static int attack(struct command_t *command)
             spk = ALREADY_DEAD;
             break;
         }
-    } else if (obj == DRAGON && game.prop[DRAGON] == 0) {
+    } else if (obj == DRAGON && game.prop[DRAGON] == DRAGON_BARS) {
         /*  Fun stuff for dragon.  If he insists on attacking it, win!
          *  Set game.prop to dead, move dragon to central loc (still
          *  fixed), move rug there (not fixed), and move him there,
@@ -123,7 +123,7 @@ static int attack(struct command_t *command)
         }
         state_change(DRAGON, DRAGON_DEAD);
         game.prop[RUG] = RUG_FLOOR;
-       /* FIXME: Arithmentic on location values */
+        /* FIXME: Arithmentic on location values */
         int k = (objects[DRAGON].plac + objects[DRAGON].fixd) / 2;
         move(DRAGON + NOBJECTS, -1);
         move(RUG + NOBJECTS, 0);
@@ -170,8 +170,8 @@ static int bigwords(token_t foo)
         } else {
             /*  Bring back troll if we steal the eggs back from him before
              *  crossing. */
-            if (game.place[EGGS] == LOC_NOWHERE && game.place[TROLL] == LOC_NOWHERE && game.prop[TROLL] == 0)
-                game.prop[TROLL] = 1;
+            if (game.place[EGGS] == LOC_NOWHERE && game.place[TROLL] == LOC_NOWHERE && game.prop[TROLL] == TROLL_UNPAID)
+                game.prop[TROLL] = TROLL_PAIDONCE;
             k = 2;
             if (HERE(EGGS))
                 k = 1;
@@ -354,21 +354,21 @@ static int chain(token_t verb)
         spk = CHAIN_UNLOCKED;
         if (game.prop[BEAR] == UNTAMED_BEAR)
             spk = BEAR_BLOCKS;
-        if (game.prop[CHAIN] == 0)
+        if (game.prop[CHAIN] == CHAIN_HEAP)
             spk = ALREADY_UNLOCKED;
         if (spk != CHAIN_UNLOCKED) {
             rspeak(spk);
             return GO_CLEAROBJ;
         }
-        game.prop[CHAIN] = 0;
-        game.fixed[CHAIN] = 0;
+        game.prop[CHAIN] = CHAIN_HEAP;
+        game.fixed[CHAIN] = CHAIN_HEAP;
         if (game.prop[BEAR] != BEAR_DEAD)
             game.prop[BEAR] = CONTENTED_BEAR;
         /* FIXME: Arithmetic on state numbers */
         game.fixed[BEAR] = 2 - game.prop[BEAR];
     } else {
         spk = CHAIN_LOCKED;
-        if (game.prop[CHAIN] != 0)
+        if (game.prop[CHAIN] != CHAIN_HEAP)
             spk = ALREADY_LOCKED;
         if (game.loc != objects[CHAIN].plac)
             spk = NO_LOCKSITE;
@@ -376,7 +376,7 @@ static int chain(token_t verb)
             rspeak(spk);
             return GO_CLEAROBJ;
         }
-        game.prop[CHAIN] = 2;
+        game.prop[CHAIN] = CHAIN_FIXED;
         if (TOTING(CHAIN))
             drop(CHAIN, game.loc);
         game.fixed[CHAIN] = -1;
@@ -419,7 +419,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
                     spk = RUG_SETTLES;
                 rspeak(spk);
                 if (spk != RUG_WIGGLES) {
-                   /* FIXME: Arithmetic on state numbers */
+                    /* FIXME: Arithmetic on state numbers */
                     int k = 2 - game.prop[RUG];
                     game.prop[RUG] = k;
                     if (k == 2)
@@ -432,7 +432,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
             drop(BATTERY, game.loc);
             pspeak(BATTERY, look, FRESH_BATTERIES);
             return GO_CLEAROBJ;
-        } else if (obj == BIRD && AT(DRAGON) && game.prop[DRAGON] == 0) {
+        } else if (obj == BIRD && AT(DRAGON) && game.prop[DRAGON] == DRAGON_BARS) {
             rspeak(BIRD_BURNT);
             DESTROY(BIRD);
             return GO_CLEAROBJ;
@@ -486,7 +486,7 @@ static int drink(token_t verb, token_t obj)
             game.place[WATER] = LOC_NOWHERE;
             spk = BOTTLE_EMPTY;
         }
-       rspeak(spk);
+        rspeak(spk);
     } else {
         DESTROY(BLOOD);
         state_change(DRAGON, DRAGON_BLOODLESS);
@@ -554,7 +554,7 @@ static int feed(token_t verb, token_t obj)
         return GO_CLEAROBJ;
     } else if (obj == SNAKE || obj == DRAGON || obj == TROLL) {
         spk = NOTHING_EDIBLE;
-        if (obj == DRAGON && game.prop[DRAGON] != 0)
+        if (obj == DRAGON && game.prop[DRAGON] != DRAGON_BARS)
             spk = RIDICULOUS_ATTEMPT;
         if (obj == TROLL)
             spk = TROLL_VICES;
@@ -1031,7 +1031,7 @@ static int throw (struct command_t *command)
     else {
         int i = atdwrf(game.loc);
         if (i <= 0) {
-            if (AT(DRAGON) && game.prop[DRAGON] == 0)
+            if (AT(DRAGON) && game.prop[DRAGON] == DRAGON_BARS)
                 return throw_support(DRAGON_SCALES);
             if (AT(TROLL))
                 return throw_support(TROLL_RETURNS);