From: David Cohrs Date: Wed, 3 Feb 2016 19:50:03 +0000 (-0800) Subject: vortexes and unsolid monsters need not avoid webs X-Git-Tag: NetHack-3.6.1_RC01~956 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d01e45a6ccfa38e1b0bb68a4d4ced45ee5d98126;p=nethack vortexes and unsolid monsters need not avoid webs Based on a bug report from beta testers in 2010. mintrap() already had partial checks for this (now fire vortex also burns a web, as per suggestion in the bug report) but mfndpos() lacked checks so mintrap() code was almost never exercised. --- diff --git a/doc/fixes36.1 b/doc/fixes36.1 index b2995c6eb..8c6866cb2 100644 --- a/doc/fixes36.1 +++ b/doc/fixes36.1 @@ -148,6 +148,7 @@ stolen_value, used when breaking shop items from outside the shop among other times, could describe the shopkeeper as "it" when not seen when two or more shopkeepers were visible at once, 'p' command could be used to probe map for locations of other shopkeepers and arbitrary monsters +vortexes and other unsolid monsters need not avoid webs Platform- and/or Interface-Specific Fixes diff --git a/src/mon.c b/src/mon.c index 2dce54e1b..c97963abe 100644 --- a/src/mon.c +++ b/src/mon.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 mon.c $NHDT-Date: 1453371163 2016/01/21 10:12:43 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.208 $ */ +/* NetHack 3.6 mon.c $NHDT-Date: 1454528962 2016/02/03 19:49:22 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.210 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1368,7 +1368,8 @@ nexttry: /* eels prefer the water, but if there is no water nearby, && (ttmp->ttyp != FIRE_TRAP || !resists_fire(mon)) && (ttmp->ttyp != SQKY_BOARD || !is_flyer(mdat)) && (ttmp->ttyp != WEB - || (!amorphous(mdat) && !webmaker(mdat))) + || (!amorphous(mdat) && !webmaker(mdat) + && !is_whirly(mdat) && !unsolid(mdat))) && (ttmp->ttyp != ANTI_MAGIC || !resists_magm(mon))) { if (!(flag & ALLOW_TRAPS)) { if (mon->mtrapseen & (1L << (ttmp->ttyp - 1))) diff --git a/src/trap.c b/src/trap.c index 83164b2d5..716962de1 100644 --- a/src/trap.c +++ b/src/trap.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 trap.c $NHDT-Date: 1452919834 2016/01/16 04:50:34 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.259 $ */ +/* NetHack 3.6 trap.c $NHDT-Date: 1454528963 2016/02/03 19:49:23 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.261 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -2412,10 +2412,12 @@ register struct monst *mtmp; break; if (amorphous(mptr) || is_whirly(mptr) || unsolid(mptr)) { if (acidic(mptr) || mptr == &mons[PM_GELATINOUS_CUBE] - || mptr == &mons[PM_FIRE_ELEMENTAL]) { + || mptr == &mons[PM_FIRE_ELEMENTAL] + || mptr == &mons[PM_FIRE_VORTEX]) { if (in_sight) pline("%s %s %s spider web!", Monnam(mtmp), - (mptr == &mons[PM_FIRE_ELEMENTAL]) + (mptr == &mons[PM_FIRE_ELEMENTAL] + || mptr == &mons[PM_FIRE_VORTEX]) ? "burns" : "dissolves", a_your[trap->madeby_u]);