summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/terrain.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/terrain.cc')
-rw-r--r--crawl-ref/source/terrain.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/crawl-ref/source/terrain.cc b/crawl-ref/source/terrain.cc
index a3e6fbf0da..014a368a8b 100644
--- a/crawl-ref/source/terrain.cc
+++ b/crawl-ref/source/terrain.cc
@@ -863,7 +863,14 @@ void dgn_move_entities_at(coord_def src, coord_def dst,
if (move_items)
move_item_stack_to_grid(src, dst);
- move_cloud_to(src, dst);
+ if (cell_is_solid(dst))
+ {
+ int cl = env.cgrid(dst);
+ if (cl != EMPTY_CLOUD)
+ delete_cloud(cl);
+ }
+ else
+ move_cloud_to(src, dst);
// Move terrain colours and properties.
env.pgrid(dst) = env.pgrid(src);