Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

This commit is contained in:
nhmall
2019-03-22 23:22:03 -04:00
2 changed files with 22 additions and 13 deletions
+3 -1
View File
@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.278 $ $NHDT-Date: 1553217908 2019/03/22 01:25:08 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.279 $ $NHDT-Date: 1553296396 2019/03/22 23:13:16 $
This fixes36.2 file is here to capture information about updates in the 3.6.x This fixes36.2 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.1 in April 2018. Please note, however, lineage following the release of 3.6.1 in April 2018. Please note, however,
@@ -394,6 +394,8 @@ kicking an object stack moves the topmost 1, but range calculation used the
yielding "thump" result with no movement despite being a light item yielding "thump" result with no movement despite being a light item
status lines' dungeon location field in the elemental planes now shows Earth status lines' dungeon location field in the elemental planes now shows Earth
or Air or Fire or Water instead of generic End Game or Air or Fire or Water instead of generic End Game
avoid spurious status refresh when hero gains experience while 'showexp' and
'showscore' options are off
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
+19 -12
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 exper.c $NHDT-Date: 1544917599 2018/12/15 23:46:39 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.31 $ */ /* NetHack 3.6 exper.c $NHDT-Date: 1553296396 2019/03/22 23:13:16 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.32 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2007. */ /*-Copyright (c) Robert Patrick Rankin, 2007. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -161,24 +161,31 @@ void
more_experienced(exper, rexp) more_experienced(exper, rexp)
register int exper, rexp; register int exper, rexp;
{ {
long newexp = u.uexp + exper; long oldexp = u.uexp,
long rexpincr = 4 * exper + rexp; oldrexp = u.urexp,
long newrexp = u.urexp + rexpincr; newexp = oldexp + exper,
rexpincr = 4 * exper + rexp,
newrexp = oldrexp + rexpincr;
/* cap experience and score on wraparound */ /* cap experience and score on wraparound */
if (newexp < 0 && exper > 0) if (newexp < 0 && exper > 0)
newexp = LONG_MAX; newexp = LONG_MAX;
if (newrexp < 0 && rexpincr > 0) if (newrexp < 0 && rexpincr > 0)
newrexp = LONG_MAX; newrexp = LONG_MAX;
u.uexp = newexp;
u.urexp = newrexp;
if (exper if (newexp != oldexp) {
u.uexp = newexp;
if (flags.showexp)
context.botl = TRUE;
}
/* newrexp will always differ from oldrexp unless they're LONG_MAX */
if (newrexp != oldrexp) {
u.urexp = newrexp;
#ifdef SCORE_ON_BOTL #ifdef SCORE_ON_BOTL
|| flags.showscore if (flags.showscore)
context.botl = TRUE;
#endif #endif
) }
context.botl = 1;
if (u.urexp >= (Role_if(PM_WIZARD) ? 1000 : 2000)) if (u.urexp >= (Role_if(PM_WIZARD) ? 1000 : 2000))
flags.beginner = 0; flags.beginner = 0;
} }
@@ -243,7 +250,7 @@ const char *drainer; /* cause of death, if drain should be fatal */
rehumanize(); rehumanize();
} }
context.botl = 1; context.botl = TRUE;
} }
/* /*
@@ -303,7 +310,7 @@ boolean incr; /* true iff via incremental experience growth */
adjabil(u.ulevel - 1, u.ulevel); /* give new intrinsics */ adjabil(u.ulevel - 1, u.ulevel); /* give new intrinsics */
reset_rndmonst(NON_PM); /* new monster selection */ reset_rndmonst(NON_PM); /* new monster selection */
} }
context.botl = 1; context.botl = TRUE;
} }
/* compute a random amount of experience points suitable for the hero's /* compute a random amount of experience points suitable for the hero's