Prevent monsters throwing items out of map
If a monster was in the projectile's path, the projectile stopping checks would not be reached. The thrown object could fly up to the maximum range, through walls, or even outside the map.
This commit is contained in:
@@ -421,7 +421,8 @@ struct obj *obj; /* missile (or stack providing it) */
|
||||
(void) drop_throw(singleobj, hitu, u.ux, u.uy);
|
||||
break;
|
||||
}
|
||||
} else if (!range /* reached end of path */
|
||||
}
|
||||
if (!range /* reached end of path */
|
||||
/* missile hits edge of screen */
|
||||
|| !isok(bhitpos.x+dx,bhitpos.y+dy)
|
||||
/* missile hits the wall */
|
||||
@@ -440,7 +441,7 @@ struct obj *obj; /* missile (or stack providing it) */
|
||||
tmp_at(bhitpos.x, bhitpos.y);
|
||||
delay_output();
|
||||
}
|
||||
if (isok(bhitpos.x, bhitpos.y)) tmp_at(bhitpos.x, bhitpos.y);
|
||||
tmp_at(bhitpos.x, bhitpos.y);
|
||||
delay_output();
|
||||
tmp_at(DISP_END, 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user