Vlad wasn't set up as a vampshifter properly
poly'd hero capable of spitting venom would leave intact venom object if it
reached end of range at a 'soft' location such as water
+avoid impossible if monster cannot be relocated from teleport region
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
boolean oneshot;
d_level *lev;
{
+ struct monst *mtmp;
+
if (bad_location(x, y, nlx, nly, nhx, nhy)) {
if (!oneshot) {
return FALSE; /* caller should try again */
case LR_UPTELE:
case LR_DOWNTELE:
/* "something" means the player in this case */
- if (MON_AT(x, y)) {
+ if ((mtmp = m_at(x, y)) != 0) {
/* move the monster if no choice, or just try again */
- if (oneshot)
- (void) rloc(m_at(x, y), FALSE);
- else
+ if (oneshot) {
+ if (!rloc(mtmp, TRUE))
+ m_into_limbo(mtmp);
+ } else
return FALSE;
}
u_on_newpos(x, y);