diff options
author | Raphael Langella <raphael.langella@gmail.com> | 2010-10-04 23:16:00 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2010-10-05 15:24:37 +0200 |
commit | ee62edaeb7a497ff86ad4daa48fe8d2c8fa5bd65 (patch) | |
tree | 6aafd750ee2deba766d1347e76d159bf791e7370 /crawl-ref/source/teleport.cc | |
parent | 07a19813d67100d08795b38ecf6165772f45d4fe (diff) | |
download | crawl-ref-ee62edaeb7a497ff86ad4daa48fe8d2c8fa5bd65.tar.gz crawl-ref-ee62edaeb7a497ff86ad4daa48fe8d2c8fa5bd65.zip |
Allow merfolk/kenku to blink over deep water/lava
This fix mantis 1522
Diffstat (limited to 'crawl-ref/source/teleport.cc')
-rw-r--r-- | crawl-ref/source/teleport.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/crawl-ref/source/teleport.cc b/crawl-ref/source/teleport.cc index 5d3d75d66f..2de8cd5eed 100644 --- a/crawl-ref/source/teleport.cc +++ b/crawl-ref/source/teleport.cc @@ -219,9 +219,15 @@ bool random_near_space(const coord_def& origin, coord_def& target, if (target == origin) continue; + dungeon_feature_type limit = DNGN_SHALLOW_WATER; + if (you.permanent_flight() || you.permanent_levitation()) + limit = DNGN_LAVA; + else if (player_likes_water(true)) + limit = DNGN_DEEP_WATER; + if (!in_bounds(target) || restrict_los && !you.see_cell(target) - || grd(target) < DNGN_SHALLOW_WATER + || grd(target) < limit || actor_at(target) || !allow_adjacent && distance(origin, target) <= 2 || forbid_sanctuary && is_sanctuary(target)) |