Merge branch 'NetHack-3.6'
This commit is contained in:
@@ -12,6 +12,12 @@ matrix:
|
||||
- os: linux
|
||||
env: HINTS=linux-x11
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- libx11-dev
|
||||
- libxaw7-dev
|
||||
- xfonts-utils
|
||||
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make install"
|
||||
- os: linux
|
||||
env: HINTS=linux-qt5
|
||||
@@ -19,6 +25,9 @@ matrix:
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- libx11-dev
|
||||
- libxaw7-dev
|
||||
- xfonts-utils
|
||||
- qtbase5-dev
|
||||
- qtmultimedia5-dev
|
||||
- qtbase5-dev-tools
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.102 $ $NHDT-Date: 1565574993 2019/08/12 01:56:33 $
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.103 $ $NHDT-Date: 1565833748 2019/08/15 01:49:08 $
|
||||
|
||||
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,
|
||||
@@ -120,6 +120,11 @@ fix typo in end_of_input() present since 3.6.0 that would prevent compilation
|
||||
for NOSAVEONHANGUP+INSURANCE configuration
|
||||
when a status condition becomes fatal, keep it listed as an active condition
|
||||
during disclosure and/or dumplog rather than having it already reset
|
||||
when a shape-shifted sandestin was turned to stone, it died and reverted to
|
||||
sandestin form with 0 HP; that confused known_hitum() because
|
||||
sandestins are immune to stoning; net result was monster dying twice,
|
||||
triggering "dmonsfree: N removed doesn't match N+1 pending" warning;
|
||||
instead of dying, make it revert to sandestin form with full health
|
||||
|
||||
|
||||
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||
|
||||
26
src/mon.c
26
src/mon.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1560791350 2019/06/17 17:09:10 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.294 $ */
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1565833749 2019/08/15 01:49:09 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.296 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -1361,8 +1361,8 @@ long flag;
|
||||
thrudoor = TRUE;
|
||||
}
|
||||
|
||||
nexttry: /* eels prefer the water, but if there is no water nearby,
|
||||
they will crawl over land */
|
||||
nexttry: /* eels prefer the water, but if there is no water nearby,
|
||||
they will crawl over land */
|
||||
if (mon->mconf) {
|
||||
flag |= ALLOW_ALL;
|
||||
flag &= ~NOTONL;
|
||||
@@ -2183,7 +2183,9 @@ struct monst *mdef;
|
||||
xchar x = mdef->mx, y = mdef->my;
|
||||
boolean wasinside = FALSE;
|
||||
|
||||
if (!vamp_stone(mdef)) /* vampshifter reverts to vampire */
|
||||
/* vampshifter reverts to vampire;
|
||||
3.6.3: also used to unshift shape-changed sandestin */
|
||||
if (!vamp_stone(mdef))
|
||||
return;
|
||||
|
||||
/* we have to make the statue before calling mondead, to be able to
|
||||
@@ -2452,7 +2454,7 @@ int xkill_flags; /* 1: suppress message, 2: suppress corpse, 4: pacifist */
|
||||
/* monster is gone, corpse or other object might now be visible */
|
||||
newsym(x, y);
|
||||
|
||||
cleanup:
|
||||
cleanup:
|
||||
/* punish bad behaviour */
|
||||
if (is_human(mdat)
|
||||
&& (!always_hostile(mdat) && mtmp->malign <= 0)
|
||||
@@ -2586,6 +2588,18 @@ struct monst *mtmp;
|
||||
newsym(mtmp->mx, mtmp->my);
|
||||
return FALSE; /* didn't petrify */
|
||||
}
|
||||
} else if (mtmp->cham >= LOW_PM
|
||||
&& (mons[mtmp->cham].mresists & MR_STONE)) {
|
||||
/* sandestins are stoning-immune so if hit by stoning damage
|
||||
they revert to innate shape rather than become a statue */
|
||||
mtmp->mcanmove = 1;
|
||||
mtmp->mfrozen = 0;
|
||||
if (mtmp->mhpmax <= 0)
|
||||
mtmp->mhpmax = 10;
|
||||
mtmp->mhp = mtmp->mhpmax;
|
||||
(void) newcham(mtmp, &mons[mtmp->cham], FALSE, TRUE);
|
||||
newsym(mtmp->mx, mtmp->my);
|
||||
return FALSE; /* didn't petrify */
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -2686,7 +2700,7 @@ struct monst *mon;
|
||||
mtmp->mstate |= MON_OBLITERATE;
|
||||
mongone(mtmp);
|
||||
/* places in the code might still reference mtmp->mx, mtmp->my */
|
||||
/* mtmp->mx = mtmp->my = 0; */
|
||||
/* mtmp->mx = mtmp->my = 0; */
|
||||
rloc_to(mon, mx, my); /* note: mon, not mtmp */
|
||||
|
||||
/* last resort - migrate mon to the next plane */
|
||||
|
||||
Reference in New Issue
Block a user