diff options
-rw-r--r-- | crawl-ref/source/monstuff.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/view.cc | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index b05018f745..ee0df7a891 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -3354,7 +3354,9 @@ static void monster_regenerate(monsters *monster) || (monster->type == MONS_FIRE_ELEMENTAL && (grd[monster->x][monster->y] == DNGN_LAVA - || env.cgrid[monster->x][monster->y] == CLOUD_FIRE)) + || (env.cgrid(monster->pos()) != EMPTY_CLOUD + && env.cloud[env.cgrid(monster->pos())].type + == CLOUD_FIRE))) || (monster->type == MONS_WATER_ELEMENTAL && (grd[monster->x][monster->y] == DNGN_SHALLOW_WATER diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc index 537b44f976..21280ca7b4 100644 --- a/crawl-ref/source/view.cc +++ b/crawl-ref/source/view.cc @@ -655,7 +655,8 @@ void monster_grid(bool do_updates) { // ripple effect? if (grd[monster->x][monster->y] == DNGN_SHALLOW_WATER - && !mons_flies(monster)) + && !mons_flies(monster) + && env.cgrid(monster->pos()) == EMPTY_CLOUD) { set_show_backup(ex, ey); env.show[ex][ey] = DNGN_INVIS_EXPOSED; |