Thrown items can get stuck in webs

This commit is contained in:
Pasi Kallinen
2022-02-20 12:23:00 +02:00
parent ad32a114a3
commit a78419c52a
2 changed files with 14 additions and 0 deletions
+1
View File
@@ -792,6 +792,7 @@ allow creating unhidden traps in special levels
reading magic marker shows the specific red ink color reading magic marker shows the specific red ink color
imps and other creatures cussing hero wake up nearby monsters imps and other creatures cussing hero wake up nearby monsters
make ravens oviparous make ravens oviparous
thrown items can get stuck in webs
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
+13
View File
@@ -3405,6 +3405,7 @@ bhit(int ddx, int ddy, int range, /* direction and range */
{ {
struct monst *mtmp, *result = (struct monst *) 0; struct monst *mtmp, *result = (struct monst *) 0;
struct obj *obj = *pobj; struct obj *obj = *pobj;
struct trap *ttmp;
uchar typ; uchar typ;
boolean shopdoor = FALSE, point_blank = TRUE; boolean shopdoor = FALSE, point_blank = TRUE;
boolean in_skip = FALSE, allow_skip = FALSE; boolean in_skip = FALSE, allow_skip = FALSE;
@@ -3517,6 +3518,18 @@ bhit(int ddx, int ddy, int range, /* direction and range */
maybe_explode_trap(t_at(g.bhitpos.x, g.bhitpos.y), obj); maybe_explode_trap(t_at(g.bhitpos.x, g.bhitpos.y), obj);
mtmp = m_at(g.bhitpos.x, g.bhitpos.y); mtmp = m_at(g.bhitpos.x, g.bhitpos.y);
ttmp = t_at(g.bhitpos.x, g.bhitpos.y);
if (!mtmp && ttmp && (ttmp->ttyp == WEB)
&& (weapon == THROWN_WEAPON || weapon == KICKED_WEAPON)
&& !rn2(3)) {
if (cansee(g.bhitpos.x, g.bhitpos.y)) {
pline("%s gets stuck in a web!", Yname2(obj));
ttmp->tseen = TRUE;
newsym(g.bhitpos.x, g.bhitpos.y);
}
break;
}
/* /*
* skipping rocks * skipping rocks