summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monplace.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-17 05:45:32 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-17 05:45:32 +0000
commitaab81bbb1af6a92ceab0496b574e879a6da80461 (patch)
tree1f3803f837d3a37c06fe62d9c32dcc96b3a016b6 /crawl-ref/source/monplace.cc
parent8c7fce6973bcb258d763ad0c34742ae87147279a (diff)
downloadcrawl-ref-aab81bbb1af6a92ceab0496b574e879a6da80461.tar.gz
crawl-ref-aab81bbb1af6a92ceab0496b574e879a6da80461.zip
Fix bug #2512419: game crashing when there isn't any room to place god-sent
monsters. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8493 c06c8d41-db1a-0410-9941-cceddc491573
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.