summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index d1907b6b5e..6cfae15e46 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -4474,7 +4474,7 @@ static void _handle_movement(monsters *monster)
}
// some calculations
- if (monster->type == MONS_BORING_BEETLE && monster->foe == MHITYOU)
+ if (mons_class_flag(monster->type, M_BURROWS) && monster->foe == MHITYOU)
{
// Boring beetles always move in a straight line in your direction.
delta = you.pos() - monster->pos();
@@ -7783,7 +7783,7 @@ static bool _mon_can_move_to_pos(const monsters *monster,
(curr_cloud_num == EMPTY_CLOUD) ? CLOUD_NONE
: env.cloud[curr_cloud_num].type;
- if (monster->type == MONS_BORING_BEETLE
+ if (mons_class_flag(monster->type, M_BURROWS)
&& (target_grid == DNGN_ROCK_WALL
|| target_grid == DNGN_CLEAR_ROCK_WALL))
{
@@ -8180,7 +8180,7 @@ forget_it:
// ------------------------------------------------------------------
// Take care of beetle burrowing.
- if (monster->type == MONS_BORING_BEETLE)
+ if (mons_class_flag(monster->type, M_BURROWS))
{
const dungeon_feature_type feat = grd(monster->pos() + mmov);
if ((feat == DNGN_ROCK_WALL || feat == DNGN_CLEAR_ROCK_WALL)
@@ -8190,7 +8190,13 @@ forget_it:
set_terrain_changed(monster->pos() + mmov);
if (!silenced(you.pos()))
- mpr("You hear a grinding noise.", MSGCH_SOUND);
+ {
+ // Message depends on whether caused by boring beetle or
+ // acid (Dissolution).
+ mpr((monster->type == MONS_BORING_BEETLE) ?
+ "You hear a grinding noise." :
+ "You hear a sizzling sound.", MSGCH_SOUND);
+ }
}
}
@@ -8472,6 +8478,7 @@ bool monster_descriptor(int which_class, unsigned char which_descriptor)
case MONS_HYDRA:
case MONS_KILLER_KLOWN:
case MONS_LERNAEAN_HYDRA:
+ case MONS_DISSOLUTION:
return (true);
default:
return (false);