misbehavior when tethered aklys gets stuck in web
Reported by elunna after it was noticed on Hack'EM Closes #1152
This commit is contained in:
@@ -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
|
include level number, and dungeon branch if not current one, in the
|
||||||
prompt instead of generic "this level"
|
prompt instead of generic "this level"
|
||||||
when using 'm #overview' in the endgame, don't include non-endgame levels
|
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
|
Fixes to 3.7.0-x Platform and/or Interface Problems Exposed Via git Repository
|
||||||
|
|||||||
@@ -3717,6 +3717,8 @@ bhit(
|
|||||||
boolean in_skip = FALSE, allow_skip = FALSE;
|
boolean in_skip = FALSE, allow_skip = FALSE;
|
||||||
boolean tethered_weapon = FALSE;
|
boolean tethered_weapon = FALSE;
|
||||||
int skiprange_start = 0, skiprange_end = 0, skipcount = 0;
|
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) {
|
if (weapon == KICKED_WEAPON) {
|
||||||
/* object starts one square in front of player */
|
/* object starts one square in front of player */
|
||||||
@@ -3806,6 +3808,8 @@ bhit(
|
|||||||
ttmp->tseen = TRUE;
|
ttmp->tseen = TRUE;
|
||||||
newsym(x, y);
|
newsym(x, y);
|
||||||
}
|
}
|
||||||
|
if (was_returning)
|
||||||
|
iflags.returning_missile = (genericptr_t) 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3979,7 +3983,8 @@ bhit(
|
|||||||
point_blank = FALSE; /* affects passing through iron bars */
|
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);
|
tmp_at(DISP_END, 0);
|
||||||
|
|
||||||
if (shopdoor)
|
if (shopdoor)
|
||||||
|
|||||||
Reference in New Issue
Block a user