summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/teleport.cc
diff options
context:
space:
mode:
authorRaphael Langella <raphael.langella@gmail.com>2010-10-04 23:16:00 +0200
committerAdam Borowski <kilobyte@angband.pl>2010-10-05 15:24:37 +0200
commitee62edaeb7a497ff86ad4daa48fe8d2c8fa5bd65 (patch)
tree6aafd750ee2deba766d1347e76d159bf791e7370 /crawl-ref/source/teleport.cc
parent07a19813d67100d08795b38ecf6165772f45d4fe (diff)
downloadcrawl-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.cc8
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))