beauty no longer in eye of the beholder

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.
This commit is contained in:
PatR
2020-01-28 12:49:38 -08:00
parent 9f06c0139e
commit 2f0676c1b8
2 changed files with 21 additions and 9 deletions
+4 -3
View 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 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 individual fields and save those fields instead of the entire struct
savefile: use little-endian format for fields where that makes a difference 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 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 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 build date/time, etc) so that it can be built by a cross-compiler
and accessed on the target platform and accessed on the target platform
replace quest.txt and associated conversion to quest.dat via makedefs with 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) some altars are displayed in different colors (for tty and curses at least)
add 'quick_farsight' option to provide some control over random clairvoyance add 'quick_farsight' option to provide some control over random clairvoyance
where pausing to be able to browse temporarily visible aspects of the 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 wearing a wet towel confers "half damage from poison gas" attribute
for end of game disclosure and dumplog, show 'achievements' (previously only for end of game disclosure and dumplog, show 'achievements' (previously only
available as an encoded value in xlogfile) along with 'conduct' 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 Platform- and/or Interface-Specific New Features
+17 -6
View 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) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */ /*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */ /* 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 * const char *
beautiful() beautiful()
{ {
return ((ACURR(A_CHA) > 14) const char *res;
? ((poly_gender() == 1) int cha = ACURR(A_CHA);
? "beautiful"
: "handsome") /* don't bother complaining about the sexism; nethack is not real life */
: "ugly"); 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."; static const char look_str[] = "look %s.";