More tests of nonsense in the forest.
[open-adventure.git] / actions.c
index 1e1e223035cf418f4c4727f8ef6c27495c7af3e5..aa6e6dac4ad6a1c482fba14fccf9ce07d61ddb6f 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -129,17 +129,18 @@ static int bigwords(long foo)
        if (game.place[EGGS]==PLAC[EGGS] || (TOTING(EGGS) && game.loc==PLAC[EGGS])) {
            RSPEAK(spk);
            return GO_CLEAROBJ;
+       } else {
+           /*  Bring back troll if we steal the eggs back from him before
+            *  crossing. */
+           if (game.place[EGGS]==0 && game.place[TROLL]==0 && game.prop[TROLL]==0)
+               game.prop[TROLL]=1;
+           k=2;
+           if (HERE(EGGS))k=1;
+           if (game.loc == PLAC[EGGS])k=0;
+           MOVE(EGGS,PLAC[EGGS]);
+           PSPEAK(EGGS,k);
+           return GO_CLEAROBJ;
        }
-       /*  Bring back troll if we steal the eggs back from him before
-        *  crossing. */
-       if (game.place[EGGS]==0 && game.place[TROLL]==0 && game.prop[TROLL]==0)
-           game.prop[TROLL]=1;
-       k=2;
-       if (HERE(EGGS))k=1;
-       if (game.loc == PLAC[EGGS])k=0;
-       MOVE(EGGS,PLAC[EGGS]);
-       PSPEAK(EGGS,k);
-       return GO_CLEAROBJ;
     }
 }
 
@@ -176,6 +177,7 @@ static int blast(void)
        game.bonus=135;
     RSPEAK(game.bonus);
     score(0);
+    return GO_CLEAROBJ;        /* pacify compiler - we never get here */
 }
 
 static int vbreak(token_t verb, token_t obj)
@@ -233,9 +235,9 @@ static int carry(token_t verb, token_t obj)
     if (obj == RUG && game.prop[RUG] == 2)spk=222;
     if (obj == SIGN)spk=196;
     if (obj == MESSAG) {
-       spk=190;
-       return GO_CLEAROBJ;
+       RSPEAK(190);
        DSTROY(MESSAG);
+       return GO_CLEAROBJ;
     }
     if (game.fixed[obj] != 0) {
        RSPEAK(spk);
@@ -469,7 +471,7 @@ static int feed(token_t verb, token_t obj)
        return GO_CLEAROBJ;
     }
     else if (obj == SNAKE || obj == DRAGON || obj == TROLL) {
-       int spk=102;
+       spk=102;
        if (obj == DRAGON && game.prop[DRAGON] != 0)spk=110;
        if (obj == TROLL)spk=182;
        if (obj == SNAKE && !game.closed && HERE(BIRD)) {
@@ -693,7 +695,6 @@ static int listen(void)
 static int lock(token_t verb, token_t obj)
 /* Lock, unlock, no object given.  Assume various things if present. */
 {
-    int k;
     int spk = ACTSPK[verb];
     if (obj == INTRANSITIVE) {
        spk=28;
@@ -988,7 +989,6 @@ int action(FILE *input, enum speechpart part, long verb, token_t obj)
  *  unless verb is "say", which snarfs arbitrary second word.
  */
 {
-    int kk;
     token_t spk=ACTSPK[verb];
 
     if (part == unknown)
@@ -1053,12 +1053,12 @@ int action(FILE *input, enum speechpart part, long verb, token_t obj)
            if (verb == SAY)obj=WD2;
            if (obj == 0) {
                /*  Analyse an intransitive verb (ie, no object given yet). */
-               switch (verb-1) {
-               case  0: /* CARRY */ return carry(verb, INTRANSITIVE);
+                   switch (verb-1) {
+                   case  0: /* CARRY */ return carry(verb, INTRANSITIVE);
                    case  1: /* DROP  */ return(8000); 
                    case  2: /* SAY   */ return(8000); 
                    case  3: /* UNLOC */ return lock(verb, INTRANSITIVE);    
-                   case  4: /* NOTHI */ {RSPEAK(54); return(20012);}
+                   case  4: /* NOTHI */ {RSPEAK(54); return(GO_CLEAROBJ);}
                    case  5: /* LOCK  */ return lock(verb, INTRANSITIVE);    
                    case  6: /* LIGHT */ return light(verb, INTRANSITIVE);    
                    case  7: /* EXTIN */ return extinguish(verb, INTRANSITIVE);    
@@ -1099,7 +1099,7 @@ int action(FILE *input, enum speechpart part, long verb, token_t obj)
                case  1: /* DROP  */ return discard(verb, obj, false);    
                case  2: /* SAY   */ return say();    
                case  3: /* UNLOC */ return lock(verb, obj);    
-               case  4: /* NOTHI */ {RSPEAK(54); return(20012);}
+               case  4: /* NOTHI */ {RSPEAK(54); return(GO_CLEAROBJ);}
                case  5: /* LOCK  */ return lock(verb, obj);    
                case  6: /* LIGHT */ return light(verb, obj);    
                case  7: /* EXTI  */ return extinguish(verb, obj);