Fix swallower being in the same location as hero

A monster swallowed hero, hero teleported the monster away, but the level
was full of monsters, so the swallower ended up not moving anywhere,
so it was in the same location as hero, but hero wasn't swallowed by it.
Move the monster into limbo instead.
This commit is contained in:
Pasi Kallinen
2024-05-28 18:12:52 +03:00
parent 5fe872bf98
commit 800b3b4b4b

View File

@@ -2164,7 +2164,8 @@ u_teleport_mon(struct monst *mtmp, boolean give_feedback)
if (give_feedback)
You("are no longer inside %s!", mon_nam(mtmp));
unstuck(mtmp);
(void) rloc(mtmp, RLOC_MSG);
if (!rloc(mtmp, RLOC_MSG))
m_into_limbo(mtmp);
} else if ((is_rider(mtmp->data) || control_teleport(mtmp->data))
&& rn2(13) && enexto(&cc, u.ux, u.uy, mtmp->data))
rloc_to(mtmp, cc.x, cc.y);