]> granicus.if.org Git - nethack/commitdiff
disclosure prompt phrasing
authorPatR <rankin@nethack.org>
Sat, 24 Oct 2020 10:17:19 +0000 (03:17 -0700)
committerPatR <rankin@nethack.org>
Sat, 24 Oct 2020 10:17:19 +0000 (03:17 -0700)
With to-be-3.7, if game ends without any achievements, the conduct
disclosure prompt is the same as it has always been
  Do you want to see your conduct?
If it ends after attaining one achievement (probably entering the
mines or acquiring the second rank title when gaining Xp level 3)
you're asked
  Do you want to see your conduct and achievement?
which looks awkward after the fact if 'y' reveals multiple conducts.

Instead of deciding whether to pluralize "conduct(s)", simplify the
prompt when one or more achievements have been attained to be
  Do you want to see your conduct and achievements?
That works even when there is only one achievement.

src/end.c

index d8187a9e8b4504e005a961f2fe539dd0ff6a23a7..bdce05a8800a6522a49330cfc310f6c07009f8f2 100644 (file)
--- a/src/end.c
+++ b/src/end.c
@@ -1,4 +1,4 @@
-/* NetHack 3.7 end.c   $NHDT-Date: 1597182933 2020/08/11 21:55:33 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.212 $ */
+/* NetHack 3.7 end.c   $NHDT-Date: 1603534633 2020/10/24 10:17:13 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.214 $ */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /*-Copyright (c) Robert Patrick Rankin, 2012. */
 /* NetHack may be freely redistributed.  See license for details. */
@@ -820,9 +820,14 @@ boolean taken;
         if (should_query_disclose_option('c', &defquery)) {
             int acnt = count_achievements();
 
-            Sprintf(qbuf, "Do you want to see your conduct%s%s?",
-                    (acnt > 0) ? " and achievement" : "",
-                    (acnt > 1) ? "s" : "");
+            Sprintf(qbuf, "Do you want to see your conduct%s?",
+                    /* this was distinguishing between one achievement and
+                       multiple achievements, but "conduct and achievement"
+                       looked strange if multiple conducts got shown (which
+                       is usual for an early game death); we could switch
+                       to plural vs singular for conducts but the less
+                       specific "conduct and achievements" is sufficient */
+                    (acnt > 0) ? " and achievements" : "");
             c = yn_function(qbuf, ynqchars, defquery);
         } else {
             c = defquery;