diff options
author | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-17 05:45:32 +0000 |
---|---|---|
committer | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-17 05:45:32 +0000 |
commit | aab81bbb1af6a92ceab0496b574e879a6da80461 (patch) | |
tree | 1f3803f837d3a37c06fe62d9c32dcc96b3a016b6 /crawl-ref/source/monplace.cc | |
parent | 8c7fce6973bcb258d763ad0c34742ae87147279a (diff) | |
download | crawl-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.cc | 7 |
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. |