Skip to content

Commit

Permalink
vortexes and unsolid monsters need not avoid webs
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
davecohrs committed Feb 3, 2016
1 parent ff9682b commit d01e45a
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
1 change: 1 addition & 0 deletions doc/fixes36.1
Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions 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. */

Expand Down Expand Up @@ -1368,7 +1368,8 @@ long flag;
&& (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)))
Expand Down
8 changes: 5 additions & 3 deletions 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. */

Expand Down Expand Up @@ -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]);
Expand Down

0 comments on commit d01e45a

Please sign in to comment.