- * Do disintegration effect on the terrain
- * before we decide the region of the effect.
- */
-static bool do_disintegration(int by, int bx, int y, int x)
-{
- byte feat;
-
- /* Disintegration balls explosions are stopped by perma-walls */
- if (!in_disintegration_range(by, bx, y, x)) return FALSE;
-
- /* Permanent walls and artifacts don't get effect */
- /* But not protect monsters and other objects */
- if (!cave_valid_bold(y, x)) return TRUE;
-
- /* Destroy mirror/glyph */
- remove_mirror(y,x);
-
- feat = cave[y][x].feat;
-
- if ((feat < FEAT_PATTERN_START || feat > FEAT_PATTERN_XTRA2) &&
- (feat < FEAT_DEEP_WATER || feat > FEAT_GRASS))
- {
- if (feat == FEAT_TREES || feat == FEAT_FLOWER || feat == FEAT_DEEP_GRASS)
- cave_set_feat(y, x, FEAT_GRASS);
- else
- cave_set_feat(y, x, floor_type[randint0(100)]);
- }
-
- /* Update some things -- similar to GF_KILL_WALL */
- p_ptr->update |= (PU_VIEW | PU_LITE | PU_FLOW | PU_MONSTERS | PU_MON_LITE);
-
- return TRUE;
-}
-
-
-/*