summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monplace.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/monplace.cc')
-rw-r--r--crawl-ref/source/monplace.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/crawl-ref/source/monplace.cc b/crawl-ref/source/monplace.cc
index b822dd6601..81cc98817b 100644
--- a/crawl-ref/source/monplace.cc
+++ b/crawl-ref/source/monplace.cc
@@ -2438,10 +2438,15 @@ int create_monster(mgen_data mg, bool fail_msg)
int tries = 0;
while (tries++ < 50
- && mons_avoids_cloud(&dummy, env.cgrid(mg.pos), NULL, true))
+ && (!in_bounds(mg.pos)
+ || mons_avoids_cloud(&dummy, env.cgrid(mg.pos),
+ NULL, true)))
{
mg.pos = find_newmons_square(montype, mg.pos);
}
+ if (!in_bounds(mg.pos))
+ return (-1);
+
const int cloud_num = env.cgrid(mg.pos);
// Don't place friendly god gift in a damaging cloud created by
// you if that would anger the god.