In a special level, creating more monsters inside room contents
than was space in the room placed monsters outside the room,
possibly inside walls of rooms created afterwards.
Prevent monster creation if inside room contents and there's no
space for the monster.
struct mkroom *croom;
xchar x, y;
{
+ if (croom->irregular) {
+ int i = (int) ((croom - g.rooms) + ROOMOFFSET);
+ return (!levl[x][y].edge && (int) levl[x][y].roomno == i);
+ }
+
return (boolean) (x >= croom->lx - 1 && x <= croom->hx + 1
&& y >= croom->ly - 1 && y <= croom->hy + 1);
}
if (MON_AT(x, y) && enexto(&cc, x, y, pm))
x = cc.x, y = cc.y;
+ if (croom && !inside_room(croom, x, y))
+ return;
+
if (m->align != AM_SPLEV_RANDOM)
mtmp = mk_roamer(pm, Amask2align(amask), x, y, m->peaceful);
else if (PM_ARCHEOLOGIST <= m->id && m->id <= PM_WIZARD)