vampshifter resurrection while being held
If poly'd hero is holding a bat/cloud/wolf which dies and revives as a vampire, release the hold.
This commit is contained in:
+3
-1
@@ -1,4 +1,4 @@
|
|||||||
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.232 $ $NHDT-Date: 1547849604 2019/01/18 22:13:24 $
|
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.234 $ $NHDT-Date: 1548208486 2019/01/23 01:54:46 $
|
||||||
|
|
||||||
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,
|
||||||
@@ -343,6 +343,8 @@ the simulation of dual weapon combat when polymorphed into a form with more
|
|||||||
even when current shape couldn't handle silver, or if it was cursed;
|
even when current shape couldn't handle silver, or if it was cursed;
|
||||||
cursed is allowed but weapon will be dropped, just like in two-weapon
|
cursed is allowed but weapon will be dropped, just like in two-weapon
|
||||||
demons gated in other demons without any message
|
demons gated in other demons without any message
|
||||||
|
if vampire revives from from dead bat/cloud/wolf shape held by hero poly'd
|
||||||
|
into grabber, release it from hero's grasp
|
||||||
|
|
||||||
|
|
||||||
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
|
||||||
|
|||||||
+2
-1
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 extern.h $NHDT-Date: 1547486885 2019/01/14 17:28:05 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.682 $ */
|
/* NetHack 3.6 extern.h $NHDT-Date: 1548208224 2019/01/23 01:50:24 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.683 $ */
|
||||||
/* Copyright (c) Steve Creps, 1988. */
|
/* Copyright (c) Steve Creps, 1988. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -1906,6 +1906,7 @@ E int NDECL(dogaze);
|
|||||||
E int NDECL(dohide);
|
E int NDECL(dohide);
|
||||||
E int NDECL(dopoly);
|
E int NDECL(dopoly);
|
||||||
E int NDECL(domindblast);
|
E int NDECL(domindblast);
|
||||||
|
E void NDECL(uunstick);
|
||||||
E void FDECL(skinback, (BOOLEAN_P));
|
E void FDECL(skinback, (BOOLEAN_P));
|
||||||
E const char *FDECL(mbodypart, (struct monst *, int));
|
E const char *FDECL(mbodypart, (struct monst *, int));
|
||||||
E const char *FDECL(body_part, (int));
|
E const char *FDECL(body_part, (int));
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 mon.c $NHDT-Date: 1545430257 2018/12/21 22:10:57 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.276 $ */
|
/* NetHack 3.6 mon.c $NHDT-Date: 1548208236 2019/01/23 01:50:36 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.277 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -1943,9 +1943,14 @@ register struct monst *mtmp;
|
|||||||
if (mtmp->mhpmax <= 0)
|
if (mtmp->mhpmax <= 0)
|
||||||
mtmp->mhpmax = 10;
|
mtmp->mhpmax = 10;
|
||||||
mtmp->mhp = mtmp->mhpmax;
|
mtmp->mhp = mtmp->mhpmax;
|
||||||
/* this can happen if previously a fog cloud */
|
/* mtmp==u.ustuck can happen if previously a fog cloud
|
||||||
if (u.uswallow && (mtmp == u.ustuck))
|
or poly'd hero is hugging a vampire bat */
|
||||||
expels(mtmp, mtmp->data, FALSE);
|
if (mtmp == u.ustuck) {
|
||||||
|
if (u.uswallow)
|
||||||
|
expels(mtmp, mtmp->data, FALSE);
|
||||||
|
else
|
||||||
|
uunstick();
|
||||||
|
}
|
||||||
if (in_door) {
|
if (in_door) {
|
||||||
coord new_xy;
|
coord new_xy;
|
||||||
|
|
||||||
|
|||||||
+10
-3
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 polyself.c $NHDT-Date: 1547086249 2019/01/10 02:10:49 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.125 $ */
|
/* NetHack 3.6 polyself.c $NHDT-Date: 1548208238 2019/01/23 01:50:38 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.126 $ */
|
||||||
/* Copyright (C) 1987, 1988, 1989 by Ken Arromdee */
|
/* Copyright (C) 1987, 1988, 1989 by Ken Arromdee */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -25,7 +25,6 @@ STATIC_DCL void FDECL(check_strangling, (BOOLEAN_P));
|
|||||||
STATIC_DCL void FDECL(polyman, (const char *, const char *));
|
STATIC_DCL void FDECL(polyman, (const char *, const char *));
|
||||||
STATIC_DCL void NDECL(break_armor);
|
STATIC_DCL void NDECL(break_armor);
|
||||||
STATIC_DCL void FDECL(drop_weapon, (int));
|
STATIC_DCL void FDECL(drop_weapon, (int));
|
||||||
STATIC_DCL void NDECL(uunstick);
|
|
||||||
STATIC_DCL int FDECL(armor_to_dragon, (int));
|
STATIC_DCL int FDECL(armor_to_dragon, (int));
|
||||||
STATIC_DCL void NDECL(newman);
|
STATIC_DCL void NDECL(newman);
|
||||||
STATIC_DCL void NDECL(polysense);
|
STATIC_DCL void NDECL(polysense);
|
||||||
@@ -747,10 +746,14 @@ int mntmp;
|
|||||||
}
|
}
|
||||||
newsym(u.ux, u.uy); /* Change symbol */
|
newsym(u.ux, u.uy); /* Change symbol */
|
||||||
|
|
||||||
|
/* [note: this 'sticky' handling is only sufficient for changing from
|
||||||
|
grabber to engulfer or vice versa because engulfing by poly'd hero
|
||||||
|
always ends immediately so won't be in effect during a polymorph] */
|
||||||
if (!sticky && !u.uswallow && u.ustuck && sticks(youmonst.data))
|
if (!sticky && !u.uswallow && u.ustuck && sticks(youmonst.data))
|
||||||
u.ustuck = 0;
|
u.ustuck = 0;
|
||||||
else if (sticky && !sticks(youmonst.data))
|
else if (sticky && !sticks(youmonst.data))
|
||||||
uunstick();
|
uunstick();
|
||||||
|
|
||||||
if (u.usteed) {
|
if (u.usteed) {
|
||||||
if (touch_petrifies(u.usteed->data) && !Stone_resistance && rnl(3)) {
|
if (touch_petrifies(u.usteed->data) && !Stone_resistance && rnl(3)) {
|
||||||
pline("%s touch %s.", no_longer_petrify_resistant,
|
pline("%s touch %s.", no_longer_petrify_resistant,
|
||||||
@@ -1541,9 +1544,13 @@ domindblast()
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC_OVL void
|
void
|
||||||
uunstick()
|
uunstick()
|
||||||
{
|
{
|
||||||
|
if (!u.ustuck) {
|
||||||
|
impossible("uunstick: no ustuck?");
|
||||||
|
return;
|
||||||
|
}
|
||||||
pline("%s is no longer in your clutches.", Monnam(u.ustuck));
|
pline("%s is no longer in your clutches.", Monnam(u.ustuck));
|
||||||
u.ustuck = 0;
|
u.ustuck = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user