Merge branch 'master' into actions-arithmetic 87/head
authorPeje Nilsson <peje66@gmail.com>
Fri, 16 Jun 2017 15:43:14 +0000 (17:43 +0200)
committerPeje Nilsson <peje66@gmail.com>
Fri, 16 Jun 2017 15:43:14 +0000 (17:43 +0200)
1  2 
actions.c

diff --cc actions.c
index 8b4f938aa694f2afe91e9c1c1ccb3b66838a4514,29369de08c1ad87498b1b1a64dbca2b3f81ddbab..80e24e04397afcb3482521151a977a511c882f27
+++ b/actions.c
@@@ -78,41 -78,39 +78,41 @@@ static int attack(FILE *input, long ver
                game.dseen[i]=false;
            }
        }
-       spk=k == 2 ? OGRE_PANIC1 : OGRE_PANIC2;
 -      spk=spk+1+1/dwarves;    /* FIXME: Arithmetic on message numbers */
++      spk=dwarves == 2 ? OGRE_PANIC1 : OGRE_PANIC2;
 +      RSPEAK(spk);
 +      return GO_CLEAROBJ;
      }
-     if (obj == BEAR)
+     else if (obj == BEAR)
        /* FIXME: Arithmetic on message numbers */
        spk = BEAR_HANDS+(game.prop[BEAR]+1)/2;
-     if (obj != DRAGON || game.prop[DRAGON] != 0) {
-       RSPEAK(spk);
-       return GO_CLEAROBJ;
+     else if (obj == DRAGON && game.prop[DRAGON] == 0) {
+       /*  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,
+        *  too.  Then do a null motion to get new description. */
+       RSPEAK(BARE_HANDS_QUERY);
+       GETIN(input,&WD1,&WD1X,&WD2,&WD2X);
+       if (WD1 != MAKEWD(25) && WD1 != MAKEWD(250519))
+           return GO_CHECKFOO;
+       PSPEAK(DRAGON,3);
+       game.prop[DRAGON]=1;
+       game.prop[RUG]=0;
+       int k=(PLAC[DRAGON]+FIXD[DRAGON])/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] == PLAC[DRAGON] || game.place[obj] == FIXD[DRAGON])
+               MOVE(obj,k);
+       }
+       game.loc=k;
+       return GO_MOVE;
      }
-     /*  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,
-      *  too.  Then do a null motion to get new description. */
-     RSPEAK(BARE_HANDS_QUERY);
-     GETIN(input,&WD1,&WD1X,&WD2,&WD2X);
-     if (WD1 != MAKEWD(25) && WD1 != MAKEWD(250519))
-       return GO_CHECKFOO;
-     PSPEAK(DRAGON,3);
-     game.prop[DRAGON]=1;
-     game.prop[RUG]=0;
-     int k=(PLAC[DRAGON]+FIXD[DRAGON])/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] == PLAC[DRAGON] || game.place[obj] == FIXD[DRAGON])
-           MOVE(obj,k);
-     }
-     game.loc=k;
-     return GO_MOVE;
+     RSPEAK(spk);
+     return GO_CLEAROBJ;
  }
  
  static int bigwords(long foo)