new status conditions
Several conditions result in stale data on the status line when starting or stopping because things which didn't used to affect it haven't been setting context.botl to force an update. This wasn't systematic; there are bound to be lots more.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.101 $ $NHDT-Date: 1581803740 2020/02/15 21:55:40 $
|
||||
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.102 $ $NHDT-Date: 1581810078 2020/02/15 23:41:18 $
|
||||
|
||||
General Fixes and Modified Features
|
||||
-----------------------------------
|
||||
@@ -96,6 +96,7 @@ set g.context.botl for glove and wielding actions that could start or end
|
||||
bare-handedness in support of condtests[bl_bareh]
|
||||
reinstate ranked ordering of the status condition fields
|
||||
grammar for messages about a monster removing items from a container was bad
|
||||
some new status conditions didn't always update when they should
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
20
src/do.c
20
src/do.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 do.c $NHDT-Date: 1581322660 2020/02/10 08:17:40 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.224 $ */
|
||||
/* NetHack 3.6 do.c $NHDT-Date: 1581810044 2020/02/15 23:40:44 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.226 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -2011,8 +2011,8 @@ dowipe()
|
||||
|
||||
void
|
||||
set_wounded_legs(side, timex)
|
||||
register long side;
|
||||
register int timex;
|
||||
long side;
|
||||
int timex;
|
||||
{
|
||||
/* KMH -- STEED
|
||||
* If you are riding, your steed gets the wounded legs instead.
|
||||
@@ -2020,13 +2020,12 @@ register int timex;
|
||||
* Caller is also responsible for adjusting messages.
|
||||
*/
|
||||
|
||||
if (!Wounded_legs) {
|
||||
g.context.botl = 1;
|
||||
if (!Wounded_legs)
|
||||
ATEMP(A_DEX)--;
|
||||
g.context.botl = 1;
|
||||
}
|
||||
|
||||
if (!Wounded_legs || (HWounded_legs & TIMEOUT))
|
||||
HWounded_legs = timex;
|
||||
if (!Wounded_legs || (HWounded_legs & TIMEOUT) < timex)
|
||||
set_itimeout(&HWounded_legs, (long) timex);
|
||||
EWounded_legs = side;
|
||||
(void) encumber_msg();
|
||||
}
|
||||
@@ -2036,10 +2035,9 @@ heal_legs(how)
|
||||
int how; /* 0: ordinary, 1: dismounting steed, 2: limbs turn to stone */
|
||||
{
|
||||
if (Wounded_legs) {
|
||||
if (ATEMP(A_DEX) < 0) {
|
||||
g.context.botl = 1;
|
||||
if (ATEMP(A_DEX) < 0)
|
||||
ATEMP(A_DEX)++;
|
||||
g.context.botl = 1;
|
||||
}
|
||||
|
||||
/* when mounted, wounded legs applies to the steed;
|
||||
during petrification countdown, "your limbs turn to stone"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 hack.c $NHDT-Date: 1579261288 2020/01/17 11:41:28 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.245 $ */
|
||||
/* NetHack 3.6 hack.c $NHDT-Date: 1581810065 2020/02/15 23:41:05 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.247 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -2925,10 +2925,11 @@ monster_nearby()
|
||||
|
||||
void
|
||||
nomul(nval)
|
||||
register int nval;
|
||||
int nval;
|
||||
{
|
||||
if (g.multi < nval)
|
||||
return; /* This is a bug fix by ab@unido */
|
||||
g.context.botl |= (g.multi >= 0);
|
||||
u.uinvulnerable = FALSE; /* Kludge to avoid ctrl-C bug -dlc */
|
||||
u.usleep = 0;
|
||||
g.multi = nval;
|
||||
@@ -2942,6 +2943,7 @@ void
|
||||
unmul(msg_override)
|
||||
const char *msg_override;
|
||||
{
|
||||
g.context.botl = 1;
|
||||
g.multi = 0; /* caller will usually have done this already */
|
||||
if (msg_override)
|
||||
g.nomovemsg = msg_override;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mhitu.c $NHDT-Date: 1575245065 2019/12/02 00:04:25 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.168 $ */
|
||||
/* NetHack 3.6 mhitu.c $NHDT-Date: 1581810070 2020/02/15 23:41:10 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.182 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -217,6 +217,7 @@ struct monst *mtmp;
|
||||
struct permonst *mdat; /* if mtmp is polymorphed, mdat != mtmp->data */
|
||||
boolean message;
|
||||
{
|
||||
g.context.botl = 1;
|
||||
if (message) {
|
||||
if (is_animal(mdat)) {
|
||||
You("get regurgitated!");
|
||||
@@ -1267,8 +1268,10 @@ register struct attack *mattk;
|
||||
break;
|
||||
case AD_STCK:
|
||||
hitmsg(mtmp, mattk);
|
||||
if (uncancelled && !u.ustuck && !sticks(g.youmonst.data))
|
||||
if (uncancelled && !u.ustuck && !sticks(g.youmonst.data)) {
|
||||
g.context.botl = 1;
|
||||
u.ustuck = mtmp;
|
||||
}
|
||||
break;
|
||||
case AD_WRAP:
|
||||
if ((!mtmp->mcan || u.ustuck == mtmp) && !sticks(g.youmonst.data)) {
|
||||
@@ -1276,6 +1279,7 @@ register struct attack *mattk;
|
||||
if (u_slip_free(mtmp, mattk)) {
|
||||
dmg = 0;
|
||||
} else {
|
||||
g.context.botl = 1;
|
||||
pline("%s swings itself around you!", Monnam(mtmp));
|
||||
u.ustuck = mtmp;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1581637127 2020/02/13 23:38:47 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.322 $ */
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1581810072 2020/02/15 23:41:12 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.323 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -2319,6 +2319,10 @@ unstuck(mtmp)
|
||||
struct monst *mtmp;
|
||||
{
|
||||
if (u.ustuck == mtmp) {
|
||||
g.context.botl = 1;
|
||||
/* do this first so that docrt()'s botl update is accurate;
|
||||
safe to do as long as u.uswallow is also cleared before docrt() */
|
||||
u.ustuck = (struct monst *) 0;
|
||||
if (u.uswallow) {
|
||||
u.ux = mtmp->mx;
|
||||
u.uy = mtmp->my;
|
||||
@@ -2333,7 +2337,6 @@ struct monst *mtmp;
|
||||
if (attacktype(mtmp->data, AT_ENGL) && !mtmp->mspec_used)
|
||||
mtmp->mspec_used = rnd(2);
|
||||
}
|
||||
u.ustuck = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 potion.c $NHDT-Date: 1579655028 2020/01/22 01:03:48 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.179 $ */
|
||||
/* NetHack 3.6 potion.c $NHDT-Date: 1581810073 2020/02/15 23:41:13 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.180 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2013. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -442,6 +442,7 @@ void
|
||||
make_glib(xtime)
|
||||
int xtime;
|
||||
{
|
||||
g.context.botl |= (!Glib ^ !!xtime);
|
||||
set_itimeout(&Glib, xtime);
|
||||
/* may change "(being worn)" to "(being worn; slippery)" or vice versa */
|
||||
if (uarmg)
|
||||
|
||||
Reference in New Issue
Block a user