Magic-number elimination.
[open-adventure.git] / actions.c
index dd6d64b6e3bf01cda79554758b47a287fa26f305..aa488e018bf39a74bae0f07759761998d216d95f 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -8,7 +8,7 @@ static int fill(token_t, token_t);
 static void state_change(long obj, long state)
 {
     game.prop[obj] = state;
-    pspeak(obj, change, state);
+    pspeak(obj, change, state, true);
 }
 
 static int attack(struct command_t *command)
@@ -166,10 +166,9 @@ static int attack(struct command_t *command)
 
 static int bigwords(token_t foo)
 /*  FEE FIE FOE FOO (AND FUM).  Advance to next state if given in proper order.
- *  Look up foo in section 3 of vocab to determine which word we've got.  Last
- *  word zips the eggs back to the giant room (unless already there). */
+ *  Look up foo in special section of vocab to determine which word we've got.
+ *  Last word zips the eggs back to the giant room (unless already there). */
 {
-    //int k = vocab(foo, 3);
     char word[6];
     packed_to_token(foo, word);
     int k = (int) get_special_vocab_id(word);
@@ -200,7 +199,7 @@ static int bigwords(token_t foo)
             if (game.loc == objects[EGGS].plac)
                 k = EGGS_HERE;
             move(EGGS, objects[EGGS].plac);
-            pspeak(EGGS, look, k);
+            pspeak(EGGS, look, k, true);
             return GO_CLEAROBJ;
         }
     }
@@ -362,7 +361,7 @@ static int vcarry(token_t verb, token_t obj)
     if (obj == BOTTLE && LIQUID() != 0)
         game.place[LIQUID()] = CARRIED;
     if (GSTONE(obj) && game.prop[obj] != 0) {
-        game.prop[obj] = 0;
+        game.prop[obj] = STATE_GROUND;
         game.prop[CAVITY] = CAVITY_EMPTY;
     }
     rspeak(OK_MAN);
@@ -453,7 +452,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
         } else if (obj == COINS && HERE(VEND)) {
             DESTROY(COINS);
             drop(BATTERY, game.loc);
-            pspeak(BATTERY, look, FRESH_BATTERIES);
+            pspeak(BATTERY, look, FRESH_BATTERIES, true);
             return GO_CLEAROBJ;
         } else if (obj == BIRD && AT(DRAGON) && game.prop[DRAGON] == DRAGON_BARS) {
             rspeak(BIRD_BURNT);
@@ -473,7 +472,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
             game.prop[VASE] = VASE_BROKEN;
             if (AT(PILLOW))
                 game.prop[VASE] = VASE_WHOLE;
-            pspeak(VASE, look, game.prop[VASE] + 1);
+            pspeak(VASE, look, game.prop[VASE] + 1, true);
             if (game.prop[VASE] != VASE_WHOLE)
                 game.fixed[VASE] = -1;
         }
@@ -560,7 +559,7 @@ static int extinguish(token_t verb, int obj)
         if (game.prop[URN] != URN_EMPTY) {
             state_change(URN, URN_DARK);
         } else {
-            pspeak(URN, change, URN_DARK);
+         pspeak(URN, change, URN_DARK, true);
         }
 
     } else if (obj == LAMP) {
@@ -744,9 +743,7 @@ static int inven(void)
             continue;
         if (spk == NO_CARRY)
             rspeak(NOW_HOLDING);
-        game.blklin = false;
-        pspeak(i, touch, -1);
-        game.blklin = true;
+        pspeak(i, touch, -1, false);
         spk = NO_MESSAGE;
     }
     if (TOTING(BEAR))
@@ -809,7 +806,7 @@ static int listen(void)
         if (i == BIRD)
             mi += 3 * game.blooded;
         long packed_zzword = token_to_packed(game.zzword);
-        pspeak(i, hear, mi, packed_zzword);
+        pspeak(i, hear, mi, true, packed_zzword);
         spk = NO_MESSAGE;
         /* FIXME: Magic number, sensitive to bird state logic */
         if (i == BIRD && game.prop[i] == 5)
@@ -906,7 +903,7 @@ static int pour(token_t verb, token_t obj)
             rspeak(spk);
             return GO_CLEAROBJ;
         }
-        pspeak(PLANT, look, game.prop[PLANT] + 3);
+        pspeak(PLANT, look, game.prop[PLANT] + 3, true);
         game.prop[PLANT] = MOD(game.prop[PLANT] + 1, 3);
         game.prop[PLANT2] = game.prop[PLANT];
         return GO_MOVE;
@@ -944,7 +941,7 @@ static int read(struct command_t command)
     } else if (objects[command.obj].texts[0] == NULL || game.prop[command.obj] < 0) {
         rspeak(actions[command.verb].message);
     } else
-        pspeak(command.obj, study, game.prop[command.obj]);
+      pspeak(command.obj, study, game.prop[command.obj], true);
     return GO_CLEAROBJ;
 }
 
@@ -955,7 +952,7 @@ static int reservoir(void)
         rspeak(NOTHING_HAPPENS);
         return GO_CLEAROBJ;
     } else {
-        pspeak(RESER, look, game.prop[RESER] + 1);
+      pspeak(RESER, look, game.prop[RESER] + 1, true);
         game.prop[RESER] = 1 - game.prop[RESER];
         if (AT(RESER))
             return GO_CLEAROBJ;
@@ -1127,7 +1124,7 @@ static int wave(token_t verb, token_t obj)
         if (HERE(BIRD))
             rspeak(spk);
         game.prop[FISSURE] = 1 - game.prop[FISSURE];
-        pspeak(FISSURE, look, 2 - game.prop[FISSURE]);
+        pspeak(FISSURE, look, 2 - game.prop[FISSURE], true);
         return GO_CLEAROBJ;
     }
 }