-$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
-----------------------------------
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
-/* 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. */
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.
* 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();
}
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"
-/* 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. */
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;
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;
-/* 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. */
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!");
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)) {
if (u_slip_free(mtmp, mattk)) {
dmg = 0;
} else {
+ g.context.botl = 1;
pline("%s swings itself around you!", Monnam(mtmp));
u.ustuck = mtmp;
}
-/* 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. */
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;
if (attacktype(mtmp->data, AT_ENGL) && !mtmp->mspec_used)
mtmp->mspec_used = rnd(2);
}
- u.ustuck = 0;
}
}
-/* 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. */
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)