Merge branch 'master' into magic-number
authorPeje Nilsson <peje66@gmail.com>
Mon, 19 Jun 2017 21:44:48 +0000 (23:44 +0200)
committerPeje Nilsson <peje66@gmail.com>
Mon, 19 Jun 2017 21:44:48 +0000 (23:44 +0200)
1  2 
main.c

diff --combined main.c
index 92ee30391dfb7e9bf349fc906a76d5052ffeb8c4,1db050f91583e7f42bfcbb2ff9ce440c1aefc0a7..b830d89ce187d94735f7041864563d48b0293380
--- 1/main.c
--- 2/main.c
+++ b/main.c
@@@ -457,15 -457,12 +457,15 @@@ static bool dwarfmove(void
      if (attack == 0)
          return true;
      if (game.dflag == 2)game.dflag = 3;
 -    SETPRM(1, attack, 0);
 -    int k = 6;
 -    if (attack > 1)k = THROWN_KNIVES;
 -    RSPEAK(k);
 -    SETPRM(1, stick, 0);
 -    RSPEAK(k + 1 + 2 / (1 + stick));  /* FIXME: Arithmetic on message number */
 +    if (attack > 1){
 +      SETPRM(1, attack, 0);
 +      RSPEAK(THROWN_KNIVES);
 +      SETPRM(1, stick, 0);
 +      RSPEAK(stick > 1 ? MULTIPLE_HITS : (stick == 1 ? ONE_HIT : NONE_HIT));
 +    } else {
 +      RSPEAK(KNIFE_THROWN);
 +      RSPEAK(MISSES_YOU);
 +    }
      if (stick == 0)
          return true;
      game.oldlc2 = game.loc;
@@@ -1060,8 -1057,9 +1060,9 @@@ L2607
          if (V1 == ENTER && WD2 > 0) {
              WD1 = WD2;
              WD1X = WD2X;
-             WD2 = 0;
+             wordclear(&WD2);
          } else {
+           /* FIXME: Magic numbers */
              if (!((V1 != 1000 + WATER && V1 != 1000 + OIL) ||
                    (V2 != 1000 + PLANT && V2 != 1000 + DOOR))) {
                  if (AT(V2 - 1000))
                  WD1 = MAKEWD(WORD_CATCH);
          }
  L2620:
-         if (WD1 == MAKEWD(WORD_WEST)) {
+         if (wordeq(WD1, MAKEWD(WORD_WEST))) {
              ++game.iwest;
              if (game.iwest == 10)
                  RSPEAK(W_IS_WEST);
          }
-         if (WD1 == MAKEWD(WORD_GO) && WD2 != 0) {
+         if (wordeq(WD1, MAKEWD(WORD_GO)) && !wordempty(WD2)) {
              if (++igo == 10)
                  RSPEAK(GO_UNNEEDED);
          }
@@@ -1133,7 -1131,7 +1134,7 @@@ Laction
              /* Get second word for analysis. */
              WD1 = WD2;
              WD1X = WD2X;
-             WD2 = 0;
+             wordclear(&WD2);
              goto L2620;
          case GO_UNKNOWN:
              /*  Random intransitive verbs come here.  Clear obj just in case