Fix impossible if monster cannot be relocated from tele region

This commit is contained in:
Pasi Kallinen
2019-05-05 22:29:47 +03:00
parent 40e7eb7e2a
commit f55e9ddd7c
2 changed files with 8 additions and 4 deletions

View File

@@ -421,6 +421,7 @@ message given when shape-shifted vampire cheats death by reverting to its
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

View File

@@ -326,6 +326,8 @@ xchar rtype;
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 */
@@ -346,11 +348,12 @@ d_level *lev;
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);