diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-02 20:37:59 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-02 20:37:59 +0000 |
commit | 5e61cb2529210393d8dbb30ab3152a11459a212f (patch) | |
tree | ef8b42d2f29f134def92196ef87e2ad979a54787 /crawl-ref/source/dungeon.cc | |
parent | 78edf358eefc57dbe3f7bcd257cbf6b9d319149a (diff) | |
download | crawl-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.cc | 10 |
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)) { |