From e6ce8067c586ae8324ee57e837aca39beef8ac95 Mon Sep 17 00:00:00 2001 From: zelgadis Date: Sat, 20 Dec 2008 05:17:48 +0000 Subject: Make player::is_habitable_feat() deal with deep water and lava. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7876 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/player.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'crawl-ref') diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 082f504a07..1a47d3c4b1 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -5581,7 +5581,19 @@ bool actor::is_habitable(const coord_def &_pos) const bool player::is_habitable_feat(dungeon_feature_type actual_grid) const { - return can_pass_through_feat(actual_grid); + if (!can_pass_through_feat(actual_grid)) + return (false); + + if (airborne()) + return (true); + + if (actual_grid == DNGN_LAVA + || actual_grid == DNGN_DEEP_WATER && !can_swim()) + { + return (false); + } + + return (true); } bool actor::handle_trap() -- cgit v1.2.3-54-g00ecf