summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-04 11:09:26 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-04 11:09:26 +0000
commitca72b70cd5ffb1e3e71512b6c457ad21ec20b71f (patch)
tree6f4bc374b4f011bb4a0731eced92ba3107feb383
parent48593ab2d1e735cd337b9d12d5e5d772f737bd8a (diff)
downloadcrawl-ref-ca72b70cd5ffb1e3e71512b6c457ad21ec20b71f.tar.gz
crawl-ref-ca72b70cd5ffb1e3e71512b6c457ad21ec20b71f.zip
[1730386] Clouds override visibility of monsters submerged in shallow water.
Fixed buggy check for fire elementals regenerating in flaming clouds. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1530 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/monstuff.cc4
-rw-r--r--crawl-ref/source/view.cc3
2 files changed, 5 insertions, 2 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index e04db2169e..ee039dec11 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -3382,7 +3382,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 c03decd6ff..d079718b57 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -670,7 +670,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;