]> granicus.if.org Git - nethack/commitdiff
fix #H4147 - "unlockable chest" desc is misleading
authorPatR <rankin@nethack.org>
Wed, 30 Dec 2015 10:33:42 +0000 (02:33 -0800)
committerPatR <rankin@nethack.org>
Wed, 30 Dec 2015 10:33:42 +0000 (02:33 -0800)
Change "unlockable" to "broken" so that it won't be misunderstood to
mean "capable of being unlocked".  The accompanying suggestion to omit
"broken" unless/until a lock or unlock attempt is made is no good since
the main reason for describing the broken lock is to avoid unnecessary
attempts to lock or unlock a container that the hero knows to be broken
but the player may have forgotten.

I also changed remote look-at for objects to use distant_name(doname)
instead of distant_name(xname) so that qualifiers like "empty" and
"broken" will show up on chests you've investigated before but aren't
standing on now.  Monster type for corpse also gets shown, instead of
just 'food (corpse)'.  Other remote items will become more verbose,
but only those that the hero has already seen up close.

doc/fixes36.1
src/objnam.c
src/pager.c

index 5465960ad7013a5be101599d6bb3b0deec144d5f..0ae0d278dbef1d3e5b40b91ebe11c160b3547793 100644 (file)
@@ -72,6 +72,9 @@ alter name of monster causing hero's death if name contains characters that
        could cause confusion when using record, logfile, or xlogfile later
 teleporting or polymorphing a sink via ring drop shouldn't depend upon being
        able to see it happen
+change "unlockable chest" to "broken chest" so that it won't be misunderstood
+       ("capable of being unlocked" vs intended "not capable of being locked")
+use doname instead of xname when using '/' or ';' to look at objects on map
 
 
 Platform- and/or Interface-Specific Fixes
index e6ca04521c7864e126edb4a1aaa4482b330555ba..8c94eed1560b6aa22e0030cd201a69d2ba0ca5ca 100644 (file)
@@ -828,7 +828,10 @@ boolean with_price;
 
     if (lknown && Is_box(obj)) {
         if (obj->obroken)
-            Strcat(prefix, "unlockable ");
+            /* 3.6.0 used "unlockable" here but that could be misunderstood
+               to mean "capable of being unlocked" rather than the intended
+               "not capable of being locked" */
+            Strcat(prefix, "broken ");
         else if (obj->olocked)
             Strcat(prefix, "locked ");
         else
index 0664bef5e9ab078ba0c4fa65f4596eed5b294572..8157bce8ed8ab314539483e4c855cace8b0878d4 100644 (file)
@@ -127,7 +127,7 @@ int x, y, glyph;
 
     if (otmp) {
         Strcpy(buf, (otmp->otyp != STRANGE_OBJECT)
-                     ? distant_name(otmp, xname)
+                     ? distant_name(otmp, doname)
                      : obj_descr[STRANGE_OBJECT].oc_name);
         if (fakeobj)
             dealloc_obj(otmp), otmp = 0;