Fix impossible if monster cannot be relocated from tele region
This commit is contained in:
@@ -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
|
Vlad wasn't set up as a vampshifter properly
|
||||||
poly'd hero capable of spitting venom would leave intact venom object if it
|
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
|
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
|
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
+7
-4
@@ -326,6 +326,8 @@ xchar rtype;
|
|||||||
boolean oneshot;
|
boolean oneshot;
|
||||||
d_level *lev;
|
d_level *lev;
|
||||||
{
|
{
|
||||||
|
struct monst *mtmp;
|
||||||
|
|
||||||
if (bad_location(x, y, nlx, nly, nhx, nhy)) {
|
if (bad_location(x, y, nlx, nly, nhx, nhy)) {
|
||||||
if (!oneshot) {
|
if (!oneshot) {
|
||||||
return FALSE; /* caller should try again */
|
return FALSE; /* caller should try again */
|
||||||
@@ -346,11 +348,12 @@ d_level *lev;
|
|||||||
case LR_UPTELE:
|
case LR_UPTELE:
|
||||||
case LR_DOWNTELE:
|
case LR_DOWNTELE:
|
||||||
/* "something" means the player in this case */
|
/* "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 */
|
/* move the monster if no choice, or just try again */
|
||||||
if (oneshot)
|
if (oneshot) {
|
||||||
(void) rloc(m_at(x, y), FALSE);
|
if (!rloc(mtmp, TRUE))
|
||||||
else
|
m_into_limbo(mtmp);
|
||||||
|
} else
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
u_on_newpos(x, y);
|
u_on_newpos(x, y);
|
||||||
|
|||||||
Reference in New Issue
Block a user