attributes disclosure: experience points
Wizard mode shows the number of points needed to reach the next level (unless already maxxed out at 30) for ^X and end of game disclosure. Do it in normal play for the latter too. (I think it would ok to do that for ^X too but haven't gone that far.) Even when it was wizard mode only, the phrasing for past tense had a minor grammar bug, and it could make the line a little too long for tty and curses (not sure about others) when level was high, resulting in wrapped text. That looked bad for tty, which first tries removing indentation (just 1 space in this case), making that line outdented as well as wrapped. So change the phrasing slightly when experience level is 'too high'. I had a version which formatted, measured, and re-formatted if necessary but that was overkill; simple hardcoded rephrasing suffices particularly when measuring was against assumed display width (80) rather than actual width.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.78 $ $NHDT-Date: 1561766416 2019/06/29 00:00:16 $
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.79 $ $NHDT-Date: 1561917056 2019/06/30 17:50:56 $
|
||||
|
||||
This fixes36.3 file is here to capture information about updates in the 3.6.x
|
||||
lineage following the release of 3.6.2 in May 2019. Please note, however,
|
||||
@@ -92,6 +92,8 @@ wizard mode ^I with 'perm_invent' On would unintentionally filter the content
|
||||
change #adjust to treat carrying only gold as not having anything to adjust
|
||||
saving bones with 'perm_invent' On could result in "Bad fruit #N" warnings
|
||||
update persistent inventory window immediately if 'sortpack' option is toggled
|
||||
grammar bit for wizard mode final disclosure; attribute section could show
|
||||
"You had N experience points, 1 more were needed to attain level X+1."
|
||||
|
||||
|
||||
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||
@@ -196,6 +198,9 @@ classify sources as released, beta, or work-in-progress via NH_DEVEL_STATUS
|
||||
rather than just released vs beta via BETA
|
||||
if you reach the edge of a level (relatively uncommon) and try to move off,
|
||||
report that you can't go farther if the 'mention_walls' option is set
|
||||
'attributes' disclosure at end of game includes number of experience points
|
||||
that were needed to reach the next experience level (new for normal
|
||||
play and explore mode; previously only shown for wizard mode)
|
||||
wizard-mode: display effect to show where an unseen wished-for monster landed
|
||||
curses: enable latent mouse support
|
||||
curses: give menus and text windows a minimum size of 5x25 since tiny ones can
|
||||
|
||||
29
src/cmd.c
29
src/cmd.c
@@ -1977,19 +1977,28 @@ int final;
|
||||
enlght_line(You_, "entered ", buf, "");
|
||||
}
|
||||
if (!Upolyd) {
|
||||
/* flags.showexp does not matter */
|
||||
int ulvl = (int) u.ulevel;
|
||||
/* [flags.showexp currently does not matter; should it?] */
|
||||
|
||||
/* experience level is already shown above */
|
||||
Sprintf(buf, "%-1ld experience point%s", u.uexp, plur(u.uexp));
|
||||
if (wizard) {
|
||||
if (u.ulevel < 30) {
|
||||
int ulvl = (int) u.ulevel;
|
||||
long nxtlvl = newuexp(ulvl);
|
||||
/* long oldlvl = (ulvl > 1) ? newuexp(ulvl - 1) : 0; */
|
||||
/* TODO?
|
||||
* Remove wizard-mode restriction since patient players can
|
||||
* determine the numbers needed without resorting to spoilers
|
||||
* (even before this started being disclosed for 'final';
|
||||
* just enable 'showexp' and look at normal status lines
|
||||
* after drinking gain level potions or eating wraith corpses
|
||||
* or being level-drained by vampires).
|
||||
*/
|
||||
if (ulvl < 30 && (final || wizard)) {
|
||||
long nxtlvl = newuexp(ulvl), delta = nxtlvl - u.uexp;
|
||||
|
||||
Sprintf(eos(buf), ", %ld %s%sneeded to attain level %d",
|
||||
(nxtlvl - u.uexp), (u.uexp > 0) ? "more " : "",
|
||||
!final ? "" : "were ", (ulvl + 1));
|
||||
}
|
||||
Sprintf(eos(buf), ", %ld %s%sneeded %s level %d",
|
||||
delta, (u.uexp > 0) ? "more " : "",
|
||||
/* present tense=="needed", past tense=="were needed" */
|
||||
!final ? "" : (delta == 1L) ? "was " : "were ",
|
||||
/* "for": grammatically iffy but less likely to wrap */
|
||||
(ulvl < 18) ? "to attain" : "for", (ulvl + 1));
|
||||
}
|
||||
you_have(buf, "");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user