Merge branch 'NetHack-3.6.2'
This commit is contained in:
@@ -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
|
||||
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
|
||||
status lines' dungeon location field in the elemental planes now shows Earth
|
||||
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
|
||||
|
||||
31
src/exper.c
31
src/exper.c
@@ -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) Robert Patrick Rankin, 2007. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -161,24 +161,31 @@ void
|
||||
more_experienced(exper, rexp)
|
||||
register int exper, rexp;
|
||||
{
|
||||
long newexp = u.uexp + exper;
|
||||
long rexpincr = 4 * exper + rexp;
|
||||
long newrexp = u.urexp + rexpincr;
|
||||
long oldexp = u.uexp,
|
||||
oldrexp = u.urexp,
|
||||
newexp = oldexp + exper,
|
||||
rexpincr = 4 * exper + rexp,
|
||||
newrexp = oldrexp + rexpincr;
|
||||
|
||||
/* cap experience and score on wraparound */
|
||||
if (newexp < 0 && exper > 0)
|
||||
newexp = LONG_MAX;
|
||||
if (newrexp < 0 && rexpincr > 0)
|
||||
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
|
||||
|| flags.showscore
|
||||
if (flags.showscore)
|
||||
context.botl = TRUE;
|
||||
#endif
|
||||
)
|
||||
g.context.botl = 1;
|
||||
}
|
||||
if (u.urexp >= (Role_if(PM_WIZARD) ? 1000 : 2000))
|
||||
flags.beginner = 0;
|
||||
}
|
||||
@@ -243,7 +250,7 @@ const char *drainer; /* cause of death, if drain should be fatal */
|
||||
rehumanize();
|
||||
}
|
||||
|
||||
g.context.botl = 1;
|
||||
g.context.botl = TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -303,7 +310,7 @@ boolean incr; /* true iff via incremental experience growth */
|
||||
adjabil(u.ulevel - 1, u.ulevel); /* give new intrinsics */
|
||||
reset_rndmonst(NON_PM); /* new monster selection */
|
||||
}
|
||||
g.context.botl = 1;
|
||||
g.context.botl = TRUE;
|
||||
}
|
||||
|
||||
/* compute a random amount of experience points suitable for the hero's
|
||||
|
||||
Reference in New Issue
Block a user