]> granicus.if.org Git - nethack/commitdiff
eye message formatting (trunk only)
authornethack.rankin <nethack.rankin>
Sat, 2 Sep 2006 04:09:50 +0000 (04:09 +0000)
committernethack.rankin <nethack.rankin>
Sat, 2 Sep 2006 04:09:50 +0000 (04:09 +0000)
     Noticed while making the Unaware changes; redo several eye/eyes
messages to use vtense() instead of doing their own verb handling.

src/dothrow.c
src/mthrowu.c
src/potion.c
src/pray.c

index ccb89e0e6a19ad5d7ff2b77e8d2f9b19f2041593..1f645e504568b46ba8a76b5f9df2329daea7a023 100644 (file)
@@ -1595,16 +1595,17 @@ boolean from_invent;
                        } else if (distu(x,y) <= 2) {
                            if (!breathless(youmonst.data) || haseyes(youmonst.data)) {
                                if (obj->otyp != POT_WATER) {
-                                       if (!breathless(youmonst.data))
-                                            /* [what about "familiar odor" when known?] */
-                                           You("smell a peculiar odor...");
-                                       else {
-                                           int numeyes = eyecount(youmonst.data);
-                                           Your("%s water%s.",
-                                                (numeyes == 1) ? body_part(EYE) :
-                                                       makeplural(body_part(EYE)),
-                                                (numeyes == 1) ? "s" : "");
-                                       }
+                                   if (!breathless(youmonst.data)) {
+                                       /* [what about "familiar odor" when known?] */
+                                       You("smell a peculiar odor...");
+                                   } else {
+                                       const char *eyes = body_part(EYE);
+
+                                       if (eyecount(youmonst.data) != 1)
+                                           eyes = makeplural(eyes);
+                                       Your("%s %s.", eyes,
+                                            vtense(eyes, "water"));
+                                   }
                                }
                                potionbreathe(obj);
                            }
index 2e3f645cc8081e563c620e1298ced94e463c4cf2..0c366e0cd1f85154c91a7b8b5dbcc93c4881ae9b 100644 (file)
@@ -391,13 +391,13 @@ struct obj *obj;          /* missile (or stack providing it) */
                                       something,
                                       body_part(FACE));
                        } else if(singleobj->otyp == BLINDING_VENOM) {
-                           int num_eyes = eyecount(youmonst.data);
+                           const char *eyes = body_part(EYE);
+
+                           if (eyecount(youmonst.data) != 1)
+                               eyes = makeplural(eyes);
                            /* venom in the eyes */
                            if(!Blind) pline_The("venom blinds you.");
-                           else Your("%s sting%s.",
-                                     (num_eyes == 1) ? body_part(EYE) :
-                                               makeplural(body_part(EYE)),
-                                     (num_eyes == 1) ? "s" : "");
+                           else Your("%s %s.", eyes, vtense(eyes, "sting"));
                        }
                    }
                    if (hitu && singleobj->otyp == EGG) {
index cbff9a0d7f8dfe21a3d1827fc3c4876acdc7a56a..67759b4c641f6e222a5a67089c56fe87edb16452 100644 (file)
@@ -213,8 +213,7 @@ boolean talk;
 {
        long old = Blinded;
        boolean u_could_see, can_see_now;
-       int eyecnt;
-       char buf[BUFSZ];
+       const char *eyes;
 
        /* we need to probe ahead in case the Eyes of the Overworld
           are or will be overriding blindness */
@@ -238,10 +237,9 @@ boolean talk;
                if (!haseyes(youmonst.data)) {
                    strange_feeling((struct obj *)0, (char *)0);
                } else if (Blindfolded) {
-                   Strcpy(buf, body_part(EYE));
-                   eyecnt = eyecount(youmonst.data);
-                   Your(eyemsg, (eyecnt == 1) ? buf : makeplural(buf),
-                        (eyecnt == 1) ? "itches" : "itch");
+                   eyes = body_part(EYE);
+                   if (eyecount(youmonst.data) != 1) eyes = makeplural(eyes);
+                   Your(eyemsg, eyes, vtense(eyes, "itch"));
                } else {        /* Eyes of the Overworld */
                    Your(vismsg, "brighten",
                         Hallucination ? "sadder" : "normal");
@@ -264,10 +262,9 @@ boolean talk;
                if (!haseyes(youmonst.data)) {
                    strange_feeling((struct obj *)0, (char *)0);
                } else if (Blindfolded) {
-                   Strcpy(buf, body_part(EYE));
-                   eyecnt = eyecount(youmonst.data);
-                   Your(eyemsg, (eyecnt == 1) ? buf : makeplural(buf),
-                        (eyecnt == 1) ? "twitches" : "twitch");
+                   eyes = body_part(EYE);
+                   if (eyecount(youmonst.data) != 1) eyes = makeplural(eyes);
+                   Your(eyemsg, eyes, vtense(eyes, "twitch"));
                } else {        /* Eyes of the Overworld */
                    Your(vismsg, "dim",
                         Hallucination ? "happier" : "normal");
@@ -322,12 +319,10 @@ long mask;        /* nonzero if resistance status should change by mask */
                if (!haseyes(youmonst.data)) {
                    strange_feeling((struct obj *)0, (char *)0);
                } else if (Blind) {
-                   char buf[BUFSZ];
-                   int eyecnt = eyecount(youmonst.data);
+                   const char *eyes = body_part(EYE);
 
-                   Strcpy(buf, body_part(EYE));
-                   Your(eyemsg, (eyecnt == 1) ? buf : makeplural(buf),
-                        (eyecnt == 1) ? "itches" : "itch");
+                   if (eyecount(youmonst.data) != 1) eyes = makeplural(eyes);
+                   Your(eyemsg, eyes, vtense(eyes, "itch"));
                } else {        /* Grayswandir */
                    Your(vismsg, "flatten", "normal");
                }
@@ -1367,10 +1362,11 @@ register struct obj *obj;
                    if (!breathless(youmonst.data))
                        pline("Ulch!  That potion smells terrible!");
                    else if (haseyes(youmonst.data)) {
-                       int numeyes = eyecount(youmonst.data);
-                       Your("%s sting%s!",
-                            (numeyes == 1) ? body_part(EYE) : makeplural(body_part(EYE)),
-                            (numeyes == 1) ? "s" : "");
+                       const char *eyes = body_part(EYE);
+
+                       if (eyecount(youmonst.data) != 1)
+                           eyes = makeplural(eyes);
+                       Your("%s %s!", eyes, vtense(eyes, "sting"));
                    }
                    break;
                } else {
index 7640a0855268619b7a174c922a5c730c08edc058..e7b6975fbb9188d251bc421a25adbf02db81cfaa 100644 (file)
@@ -442,12 +442,10 @@ decurse:
                    break;
            case TROUBLE_BLIND:
                {
-                   int num_eyes = eyecount(youmonst.data);
-                   const char *eye = body_part(EYE);
+                   const char *eyes = body_part(EYE);
 
-                   Your("%s feel%s better.",
-                        (num_eyes == 1) ? eye : makeplural(eye),
-                        (num_eyes == 1) ? "s" : "");
+                   if (eyecount(youmonst.data) != 1) eyes = makeplural(eyes);
+                   Your("%s %s better.", eyes, vtense(eyes, "feel"));
                    u.ucreamed = 0;
                    make_blinded(0L,FALSE);
                    break;