From: PatR Date: Tue, 28 Jan 2020 20:49:38 +0000 (-0800) Subject: beauty no longer in eye of the beholder X-Git-Tag: NetHack-3.7.0_WIP-2020-02-14~112^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2f0676c1b88d50e1d1c8831272d0f42e7f5f1888;p=nethack 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. --- diff --git a/doc/fixes37.0 b/doc/fixes37.0 index 513f78178..6956f210a 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -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 diff --git a/src/apply.c b/src/apply.c index 08b39c31e..8c6fe07c8 100644 --- a/src/apply.c +++ b/src/apply.c @@ -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.";