diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index 6243b7d83..c4997d8de 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -1750,6 +1750,8 @@ when using 'm #overview' to annotate a level other than current the one, include level number, and dungeon branch if not current one, in the prompt instead of generic "this level" when using 'm #overview' in the endgame, don't include non-endgame levels +when a tethered aklys gets caught in a web, make sure it doesn't return + and that the display of the tether gets cleaned up Fixes to 3.7.0-x Platform and/or Interface Problems Exposed Via git Repository diff --git a/src/zap.c b/src/zap.c index 04199b9fe..b5e9d9e19 100644 --- a/src/zap.c +++ b/src/zap.c @@ -3717,6 +3717,8 @@ bhit( boolean in_skip = FALSE, allow_skip = FALSE; boolean tethered_weapon = FALSE; int skiprange_start = 0, skiprange_end = 0, skipcount = 0; + struct obj *was_returning = + (iflags.returning_missile == obj) ? obj : (struct obj *) 0; if (weapon == KICKED_WEAPON) { /* object starts one square in front of player */ @@ -3806,6 +3808,8 @@ bhit( ttmp->tseen = TRUE; newsym(x, y); } + if (was_returning) + iflags.returning_missile = (genericptr_t) 0; break; } @@ -3979,7 +3983,8 @@ bhit( point_blank = FALSE; /* affects passing through iron bars */ } - if (weapon != ZAPPED_WAND && weapon != INVIS_BEAM && !tethered_weapon) + if ((weapon != ZAPPED_WAND && weapon != INVIS_BEAM && !tethered_weapon) + || (was_returning && was_returning != iflags.returning_missile)) tmp_at(DISP_END, 0); if (shopdoor)