summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-02 20:37:59 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-02 20:37:59 +0000
commit5e61cb2529210393d8dbb30ab3152a11459a212f (patch)
treeef8b42d2f29f134def92196ef87e2ad979a54787 /crawl-ref/source/dungeon.cc
parent78edf358eefc57dbe3f7bcd257cbf6b9d319149a (diff)
downloadcrawl-ref-5e61cb2529210393d8dbb30ab3152a11459a212f.tar.gz
crawl-ref-5e61cb2529210393d8dbb30ab3152a11459a212f.zip
Fix arena not placing water monsters correctly, remove monster habitat special-casing for "generation" time. Also fix arena "friendlies" not picking up items.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8130 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/dungeon.cc')
-rw-r--r--crawl-ref/source/dungeon.cc10
1 files changed, 3 insertions, 7 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index b9eaf73704..779538c1b8 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -4668,12 +4668,8 @@ int dgn_place_monster(mons_spec &mspec,
const habitat_type habitat = mons_class_primary_habitat(montype);
- if (habitat != HT_LAND
- && (habitat != HT_WATER || !mons_class_amphibious(montype))
- && (habitat != HT_ROCK || !mons_class_wall_shielded(montype)))
- {
+ if (!monster_habitable_grid(montype, grd(where)))
grd(where) = habitat2grid(habitat);
- }
}
mgen_data mg(static_cast<monster_type>(mid));
@@ -4728,10 +4724,10 @@ int dgn_place_monster(mons_spec &mspec,
if (!force_pos && mgrd(place) != NON_MONSTER
&& mg.cls != RANDOM_MONSTER && mg.cls < NUM_MONSTERS)
{
- place = find_newmons_square_contiguous(mg.cls, where, 6);
+ place = find_newmons_square_contiguous(mg.cls, where, 7);
}
- mg.pos = where;
+ mg.pos = place;
if (mons_class_is_zombified(mg.base_type))
{