Remove unused code
[open-adventure.git] / actions.c
index 082b9f660bbe138518f799c638d7f24b28dfd883..5bb95553bc21937c348c5088ef32e143dca58558 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -14,7 +14,7 @@ static int attack(FILE *input, struct command_t *command)
 {
     vocab_t verb = command->verb;
     vocab_t obj = command->obj;
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == 0 || obj == INTRANSITIVE) {
         if (atdwrf(game.loc) > 0)
             obj = DWARF;
@@ -86,14 +86,14 @@ static int attack(FILE *input, struct command_t *command)
         pspeak(DRAGON, look, 3);
         game.prop[DRAGON] = 1;
         game.prop[RUG] = 0;
-        int k = (object_descriptions[DRAGON].plac + object_descriptions[DRAGON].fixd) / 2;
+        int k = (objects[DRAGON].plac + objects[DRAGON].fixd) / 2;
         move(DRAGON + NOBJECTS, -1);
         move(RUG + NOBJECTS, 0);
         move(DRAGON, k);
         move(RUG, k);
         drop(BLOOD, k);
         for (obj = 1; obj <= NOBJECTS; obj++) {
-            if (game.place[obj] == object_descriptions[DRAGON].plac || game.place[obj] == object_descriptions[DRAGON].fixd)
+            if (game.place[obj] == objects[DRAGON].plac || game.place[obj] == objects[DRAGON].fixd)
                 move(obj, k);
         }
         game.loc = k;
@@ -122,7 +122,7 @@ static int bigwords(token_t foo)
             return GO_CLEAROBJ;
         }
         game.foobar = 0;
-        if (game.place[EGGS] == object_descriptions[EGGS].plac || (TOTING(EGGS) && game.loc == object_descriptions[EGGS].plac)) {
+        if (game.place[EGGS] == objects[EGGS].plac || (TOTING(EGGS) && game.loc == objects[EGGS].plac)) {
             rspeak(spk);
             return GO_CLEAROBJ;
         } else {
@@ -132,8 +132,8 @@ static int bigwords(token_t foo)
                 game.prop[TROLL] = 1;
             k = 2;
             if (HERE(EGGS))k = 1;
-            if (game.loc == object_descriptions[EGGS].plac)k = 0;
-            move(EGGS, object_descriptions[EGGS].plac);
+            if (game.loc == objects[EGGS].plac)k = 0;
+            move(EGGS, objects[EGGS].plac);
             pspeak(EGGS, look, k);
             return GO_CLEAROBJ;
         }
@@ -177,7 +177,7 @@ static void blast(void)
 static int vbreak(token_t verb, token_t obj)
 /*  Break.  Only works for mirror in repository and, of course, the vase. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == MIRROR)spk = TOO_FAR;
     if (obj == VASE && game.prop[VASE] == 0) {
         if (TOTING(VASE))drop(VASE, game.loc);
@@ -305,7 +305,7 @@ static int chain(token_t verb)
     } else {
         spk = CHAIN_LOCKED;
         if (game.prop[CHAIN] != 0)spk = ALREADY_LOCKED;
-        if (game.loc != object_descriptions[CHAIN].plac)spk = NO_LOCKSITE;
+        if (game.loc != objects[CHAIN].plac)spk = NO_LOCKSITE;
         if (spk != CHAIN_LOCKED) {
             rspeak(spk);
             return GO_CLEAROBJ;
@@ -323,7 +323,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
  *  bird (might attack snake or dragon) and cage (might contain bird) and vase.
  *  Drop coins at vending machine for extra batteries. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (!just_do_it) {
         if (TOTING(ROD2) && obj == ROD && !TOTING(ROD))obj = ROD2;
         if (!TOTING(obj)) {
@@ -350,7 +350,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
                 if (spk != RUG_WIGGLES) {
                     int k = 2 - game.prop[RUG];
                     game.prop[RUG] = k;
-                    if (k == 2) k = object_descriptions[SAPPH].plac;
+                    if (k == 2) k = objects[SAPPH].plac;
                     move(RUG + NOBJECTS, k);
                 }
             }
@@ -367,11 +367,11 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
             rspeak(TROLL_SCAMPERS);
             move(TROLL, 0);
             move(TROLL + NOBJECTS, 0);
-            move(TROLL2, object_descriptions[TROLL].plac);
-            move(TROLL2 + NOBJECTS, object_descriptions[TROLL].fixd);
+            move(TROLL2, objects[TROLL].plac);
+            move(TROLL2 + NOBJECTS, objects[TROLL].fixd);
             juggle(CHASM);
             game.prop[TROLL] = 2;
-        } else if (obj != VASE || game.loc == object_descriptions[PILLOW].plac) {
+        } else if (obj != VASE || game.loc == objects[PILLOW].plac) {
             rspeak(OK_MAN);
         } else {
             game.prop[VASE] = 2;
@@ -398,7 +398,7 @@ static int drink(token_t verb, token_t obj)
 /*  Drink.  If no object, assume water and look for it here.  If water is in
  *  the bottle, drink that, else must be at a water loc, so drink stream. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == 0 && LIQLOC(game.loc) != WATER && (LIQUID() != WATER || !HERE(BOTTLE)))
         return GO_UNKNOWN;
     if (obj != BLOOD) {
@@ -422,7 +422,7 @@ static int eat(token_t verb, token_t obj)
 /*  Eat.  Intransitive: assume food if present, else ask what.  Transitive: food
  *  ok, some things lose appetite, rest are ridiculous. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == INTRANSITIVE) {
         if (!HERE(FOOD))
             return GO_UNKNOWN;
@@ -444,7 +444,7 @@ static int eat(token_t verb, token_t obj)
 static int extinguish(token_t verb, int obj)
 /* Extinguish.  Lamp, urn, dragon/volcano (nice try). */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == INTRANSITIVE) {
         if (HERE(LAMP) && game.prop[LAMP] == LAMP_BRIGHT)
            obj = LAMP;
@@ -469,7 +469,7 @@ static int feed(token_t verb, token_t obj)
 /*  Feed.  If bird, no seed.  Snake, dragon, troll: quip.  If dwarf, make him
  *  mad.  Bear, special. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == BIRD) {
         rspeak(BIRD_PINING);
         return GO_CLEAROBJ;
@@ -511,7 +511,7 @@ int fill(token_t verb, token_t obj)
  *  is nasty.) */
 {
     int k;
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == VASE) {
         spk = ARENT_CARRYING;
         if (LIQLOC(game.loc) == 0)spk = FILL_INVALID;
@@ -569,7 +569,7 @@ int fill(token_t verb, token_t obj)
 static int find(token_t verb, token_t obj)
 /* Find.  Might be carrying it, or it might be here.  Else give caveat. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (AT(obj) ||
         (LIQUID() == obj && AT(BOTTLE)) ||
         obj == LIQLOC(game.loc) ||
@@ -584,7 +584,7 @@ static int find(token_t verb, token_t obj)
 static int fly(token_t verb, token_t obj)
 /* Fly.  Snide remarks unless hovering rug is here. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == INTRANSITIVE) {
         if (game.prop[RUG] != 2)spk = RUG_NOTHING2;
         if (!HERE(RUG))spk = FLAP_ARMS;
@@ -637,7 +637,7 @@ static int inven(void)
 static int light(token_t verb, token_t obj)
 /*  Light.  Applicable only to lamp and urn. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == INTRANSITIVE) {
         if (HERE(LAMP) && game.prop[LAMP] == LAMP_DARK && game.limit >= 0)
            obj = LAMP;
@@ -686,7 +686,7 @@ static int listen(void)
            spk = NO_MESSAGE;
     }
     for (int i = 1; i <= NOBJECTS; i++) {
-        if (!HERE(i) || object_descriptions[i].sounds[0] == NULL || game.prop[i] < 0)
+        if (!HERE(i) || objects[i].sounds[0] == NULL || game.prop[i] < 0)
             continue;
        int mi =  game.prop[i];
        if (i == BIRD)
@@ -704,7 +704,7 @@ static int listen(void)
 static int lock(token_t verb, token_t obj)
 /* Lock, unlock, no object given.  Assume various things if present. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == INTRANSITIVE) {
         spk = NOTHING_LOCKED;
         if (HERE(CLAM))obj = CLAM;
@@ -750,7 +750,7 @@ static int pour(token_t verb, token_t obj)
 /*  Pour.  If no object, or object is bottle, assume contents of bottle.
  *  special tests for pouring water or oil on plant or rusty door. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj == BOTTLE || obj == 0)obj = LIQUID();
     if (obj == 0) return GO_UNKNOWN;
     if (!TOTING(obj)) {
@@ -804,7 +804,7 @@ static int read(struct command_t command)
     if (command.obj == INTRANSITIVE) {
         command.obj = 0;
         for (int i = 1; i <= NOBJECTS; i++) {
-            if (HERE(i) && object_descriptions[i].texts[0] != NULL && game.prop[i] >= 0)
+            if (HERE(i) && objects[i].texts[0] != NULL && game.prop[i] >= 0)
                 command.obj = command.obj * NOBJECTS + i;
         }
         if (command.obj > NOBJECTS || command.obj == 0 || DARK(game.loc))
@@ -815,8 +815,8 @@ static int read(struct command_t command)
         rspeak(NO_SEE, command.wd1, command.wd1x);
     } else if (command.obj == OYSTER && !game.clshnt && game.closed) {
         game.clshnt = yes(arbitrary_messages[CLUE_QUERY], arbitrary_messages[WAYOUT_CLUE], arbitrary_messages[OK_MAN]);
-    } else if (object_descriptions[command.obj].texts[0] == NULL || game.prop[command.obj] < 0) {
-        rspeak(actspk[command.verb]);
+    } 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]);
     return GO_CLEAROBJ;
@@ -845,7 +845,7 @@ static int reservoir(void)
 static int rub(token_t verb, token_t obj)
 /* Rub.  Yields various snide remarks except for lit urn. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if (obj != LAMP)
         spk = PECULIAR_NOTHING;
     if (obj == URN && game.prop[URN] == 2) {
@@ -893,20 +893,20 @@ static int throw (FILE *cmdin, struct command_t *command)
  *  (Only way to do so!)  Axe also special for dragon, bear, and
  *  troll.  Treasures special for troll. */
 {
-    int spk = actspk[command->verb];
+    int spk = actions[command->verb].message;
     if (TOTING(ROD2) && command->obj == ROD && !TOTING(ROD))command->obj = ROD2;
     if (!TOTING(command->obj)) {
         rspeak(spk);
         return GO_CLEAROBJ;
     }
-    if (object_descriptions[command->obj].is_treasure && AT(TROLL)) {
+    if (objects[command->obj].is_treasure && AT(TROLL)) {
         spk = TROLL_SATISFIED;
         /*  Snarf a treasure for the troll. */
         drop(command->obj, 0);
         move(TROLL, 0);
         move(TROLL + NOBJECTS, 0);
-        drop(TROLL2, object_descriptions[TROLL].plac);
-        drop(TROLL2 + NOBJECTS, object_descriptions[TROLL].fixd);
+        drop(TROLL2, objects[TROLL].plac);
+        drop(TROLL2 + NOBJECTS, objects[TROLL].fixd);
         juggle(CHASM);
         rspeak(spk);
         return GO_CLEAROBJ;
@@ -955,7 +955,7 @@ static int wake(token_t verb, token_t obj)
 /* Wake.  Only use is to disturb the dwarves. */
 {
     if (obj != DWARF || !game.closed) {
-        rspeak(actspk[verb]);
+        rspeak(actions[verb].message);
         return GO_CLEAROBJ;
     } else {
         rspeak(PROD_DWARF);
@@ -966,7 +966,7 @@ static int wake(token_t verb, token_t obj)
 static int wave(token_t verb, token_t obj)
 /* Wave.  No effect unless waving rod at fissure or at bird. */
 {
-    int spk = actspk[verb];
+    int spk = actions[verb].message;
     if ((!TOTING(obj)) && (obj != ROD || !TOTING(ROD2)))spk = ARENT_CARRYING;
     if (obj != ROD ||
         !TOTING(obj) ||
@@ -1005,7 +1005,7 @@ int action(FILE *input, struct command_t *command)
  *  unless verb is "say", which snarfs arbitrary second word.
  */
 {
-    token_t spk = actspk[command->verb];
+    token_t spk = actions[command->verb].message;
 
     if (command->part == unknown) {
         /*  Analyse an object word.  See if the thing is here, whether