diff options
-rw-r--r-- | crawl-ref/source/player.cc | 14 |
1 files changed, 13 insertions, 1 deletions
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() |