]> granicus.if.org Git - nethack/commitdiff
beauty no longer in eye of the beholder
authorPatR <rankin@nethack.org>
Tue, 28 Jan 2020 20:49:38 +0000 (12:49 -0800)
committerPatR <rankin@nethack.org>
Tue, 28 Jan 2020 20:49:38 +0000 (12:49 -0800)
There was a complaint that despite charisma of 13 being above average,
the character was described as "ugly".  The cut-off was actually >14
for "beautiful" or "handsome" vs <=14 for "ugly".  This adds several
more grades of appearance.

doc/fixes37.0
src/apply.c

index 513f7817840bc99dbe5dbe654a662ce741a4900a..6956f210af92c099e7e6cc279e846164ef653750 100644 (file)
@@ -1,4 +1,4 @@
-$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.76 $ $NHDT-Date: 1580043420 2020/01/26 12:57:00 $
+$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.78 $ $NHDT-Date: 1580244571 2020/01/28 20:49:31 $
 
 General Fixes and Modified Features
 -----------------------------------
@@ -95,12 +95,12 @@ savefile: add support to deconstruct internal data structures down into their
        individual fields and save those fields instead of the entire struct
 savefile: use little-endian format for fields where that makes a difference
 replace build-time level compiler and dungeon compiler with run-time loading of
-       the dungeon and level descriptions and interpreting them via LUA
+       the dungeon and level descriptions and interpreting them via Lua
 split off some of the functionality that was in makedefs (compiled-in options
        build date/time, etc) so that it can be built by a cross-compiler
        and accessed on the target platform
 replace quest.txt and associated conversion to quest.dat via makedefs with
-       lua quest texts loaded at runtime
+       Lua quest texts loaded at runtime
 some altars are displayed in different colors (for tty and curses at least)
 add 'quick_farsight' option to provide some control over random clairvoyance
        where pausing to be able to browse temporarily visible aspects of the
@@ -122,6 +122,7 @@ tiny chance for randomly created spellbooks to be Discworld novels instead
 wearing a wet towel confers "half damage from poison gas" attribute
 for end of game disclosure and dumplog, show 'achievements' (previously only
        available as an encoded value in xlogfile) along with 'conduct'
+more grades of self-appearance than beautiful or handsome vs ugly
 
 
 Platform- and/or Interface-Specific New Features
index 08b39c31e7db0be956d8650d6836fcd7c3a689c2..8c6fe07c818dcba40c8cf6aa2b1b9f2af470d047 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.6 apply.c $NHDT-Date: 1578187332 2020/01/05 01:22:12 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.310 $ */
+/* NetHack 3.6 apply.c $NHDT-Date: 1580244571 2020/01/28 20:49:31 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.314 $ */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /*-Copyright (c) Robert Patrick Rankin, 2012. */
 /* NetHack may be freely redistributed.  See license for details. */
@@ -815,14 +815,25 @@ register xchar x, y;
     }
 }
 
+/* charisma is supposed to include qualities like leadership and personal
+   magnetism rather than just appearance, but it has devolved to this... */
 const char *
 beautiful()
 {
-    return ((ACURR(A_CHA) > 14)
-               ? ((poly_gender() == 1)
-                     ? "beautiful"
-                     : "handsome")
-               : "ugly");
+    const char *res;
+    int cha = ACURR(A_CHA);
+
+    /* don't bother complaining about the sexism; nethack is not real life */
+    res = ((cha >= 25) ? "sublime" /* 25 is the maximum possible */
+           : (cha >= 19) ? "splendorous" /* note: not "splendiferous" */
+             : (cha >= 16) ? ((poly_gender() == 1) ? "beautiful" : "handsome")
+               : (cha >= 14) ? ((poly_gender() == 1) ? "winsome" : "amiable")
+                 : (cha >= 11) ? "cute"
+                   : (cha >= 9) ? "plain"
+                     : (cha >= 6) ? "homely"
+                       : (cha >= 4) ? "ugly"
+                         : "hideous"); /* 3 is the minimum possible */
+    return res;
 }
 
 static const char look_str[] = "look %s.";