summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells3.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/spells3.cc')
-rw-r--r--crawl-ref/source/spells3.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc
index 3a815e32e8..cd5913a85e 100644
--- a/crawl-ref/source/spells3.cc
+++ b/crawl-ref/source/spells3.cc
@@ -1308,6 +1308,9 @@ static bool _teleport_player( bool allow_control, bool new_abyss_area )
coord_def pos(1, 0);
bool large_change = false;
bool check_ring_TC = false;
+#ifdef USE_TILE
+ const dungeon_feature_type old_grid = grd(you.pos());
+#endif
if (is_controlled)
{
@@ -1457,6 +1460,18 @@ static bool _teleport_player( bool allow_control, bool new_abyss_area )
if (check_ring_TC)
maybe_id_ring_TC();
+#ifdef USE_TILE
+ if (you.species == SP_MERFOLK)
+ {
+ const dungeon_feature_type new_grid = grd(you.pos());
+ if (grid_is_water(old_grid) && !grid_is_water(new_grid)
+ || !grid_is_water(old_grid) && grid_is_water(new_grid))
+ {
+ init_player_doll();
+ }
+ }
+#endif
+
return !is_controlled;
}