diff options
Diffstat (limited to 'crawl-ref/source/spells4.cc')
-rw-r--r-- | crawl-ref/source/spells4.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/crawl-ref/source/spells4.cc b/crawl-ref/source/spells4.cc index 2c94c3f542..f506ea3829 100644 --- a/crawl-ref/source/spells4.cc +++ b/crawl-ref/source/spells4.cc @@ -224,20 +224,21 @@ static int _shatter_items(coord_def where, int pow, int garbage) static int _shatter_walls(coord_def where, int pow, int garbage) { - UNUSED( garbage ); + UNUSED(garbage); int chance = 0; // if not in-bounds then we can't really shatter it -- bwr - if ( !in_bounds(where) ) + if (!in_bounds(where)) return 0; - switch (grd(where)) + const dungeon_feature_type grid = grd(where); + + switch (grid) { case DNGN_SECRET_DOOR: if (see_grid(where)) mpr("A secret door shatters!"); - grd(where) = DNGN_FLOOR; chance = 100; break; @@ -245,7 +246,6 @@ static int _shatter_walls(coord_def where, int pow, int garbage) case DNGN_OPEN_DOOR: if (see_grid(where)) mpr("A door shatters!"); - grd(where) = DNGN_FLOOR; chance = 100; break; @@ -281,6 +281,10 @@ static int _shatter_walls(coord_def where, int pow, int garbage) noisy(30, where); grd(where) = DNGN_FLOOR; + + if (grid == DNGN_ORCISH_IDOL) + beogh_idol_revenge(); + return (1); } |