From: PatR Date: Fri, 10 Jun 2016 00:08:37 +0000 (-0700) Subject: "fix" bz 431 - phrasing of alignment description X-Git-Tag: NetHack-3.6.1_RC01~687 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1eb4d3432e601529834b859ee1ab661d856d39d4;p=nethack "fix" bz 431 - phrasing of alignment description The character attributes (^X) description of alignment includes information about whether the alignment is different from what it started out as, and is used in a verbose sentence which names the entire three-deity pantheon. Someone thought You were chaotic, temporarily on a mission for Foo who was opposed by Bar (lawful) and Quux (neutral). was in need to better phrasing. It looks straightforward to me (the temporary aspect indicates that a helm of opposite alignment was causing 'chaotic'). I was going to mark it "won't fix" until I noticed that you could also get You were lawful, now on a mission for Bar (when permanent, one-time alignment change was causing 'lawful'). The first one is changed for the present tense: You are chaotic, currently on a mission for Foo and stays the same for end-of-game disclosure past tense. I considered using "formerly"--as best past tense of "currently"-- but it could be confused as a reference to the original alignment rather than the alignment in place when the game ended. The second is unchanged for present tense: You are lawful, now on a mission for Bar For past tense, it's changed to: You were lawful, belatedly on a mission for Bar Past tense of "now" should be "then", but if used it that message it would sound absurdly stilted. "Belatedly" is meant to suggest that if you intended to be on a mission for Bar, you should have started out as lawful. (It's beside the point that some roles or races couldn't start out at as lawful.) Both of these changes leave something to be desired, but I'm going to mark the bz entry closed. --- diff --git a/src/cmd.c b/src/cmd.c index d883b34a2..aaecc80f6 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -1492,16 +1492,26 @@ int final; } you_are(buf, ""); - /* report alignment (bypass you_are() in order to omit ending period) */ + /* report alignment (bypass you_are() in order to omit ending period); + adverb is used to distinguish between temporary change (helm of opp. + alignment), permanent change (one-time conversion), and original */ Sprintf(buf, " %s%s%s, %son a mission for %s", You_, !final ? are : were, align_str(u.ualign.type), /* helm of opposite alignment (might hide conversion) */ - (u.ualign.type != u.ualignbase[A_CURRENT]) ? "temporarily " + (u.ualign.type != u.ualignbase[A_CURRENT]) + /* what's the past tense of "currently"? if we used "formerly" + it would sound like a reference to the original alignment */ + ? (!final ? "currently " : "temporarily ") /* permanent conversion */ - : (u.ualign.type != u.ualignbase[A_ORIGINAL]) ? "now " + : (u.ualign.type != u.ualignbase[A_ORIGINAL]) + /* and what's the past tense of "now"? certainly not "then" + in a context like this...; "belatedly" == weren't that + way sooner (in other words, didn't start that way) */ + ? (!final ? "now " : "belatedly ") /* atheist (ignored in very early game) */ - : (!u.uconduct.gnostic && moves > 1000L) ? "nominally " + : (!u.uconduct.gnostic && moves > 1000L) + ? "nominally " /* lastly, normal case */ : "", u_gname());