/* Flush the input if requested */
if (flush_disturb) flush();
}
+
+
+/*
+ * Glow deep lava in the floor
+ */
+void glow_deep_lava(void)
+{
+ int y, x, i, yy, xx;
+ cave_type *c_ptr;
+
+ for (y = 1; y < cur_hgt - 1; y++)
+ {
+ for (x = 1; x < cur_wid - 1; x++)
+ {
+ c_ptr = &cave[y][x];
+
+ if (c_ptr->feat == FEAT_DEEP_LAVA)
+ {
+ for (i = 0; i < 9; i++)
+ {
+ yy = y + ddy_ddd[i];
+ xx = x + ddx_ddd[i];
+ cave[yy][xx].info |= CAVE_GLOW;
+ if (player_has_los_bold(yy, xx)) note_spot(yy, xx);
+ }
+ }
+ }
+ }
+}
note_spot(y, x);
}
}
+
+ /* Glow deep lava */
+ glow_deep_lava();
}
}
extern void monster_race_track(int r_idx);
extern void object_kind_track(int k_idx);
extern void disturb(int stop_search, int flush_output);
+extern void glow_deep_lava(void);
/* cmd1.c */
extern bool test_hit_fire(int chance, int ac, int vis);
wipe_m_list();
}
- for (y = 1; y < cur_hgt - 1; y++)
- {
- for (x = 1; x < cur_wid - 1; x++)
- {
- if ((cave[y][x].feat == FEAT_DEEP_LAVA))
- {
- int i;
- for (i = 0; i < 9; i++)
- {
- cave[y+ddy_ddd[i]][x+ddx_ddd[i]].info |= CAVE_GLOW;
- }
- }
- }
- }
+ /* Glow deep lava */
+ glow_deep_lava();
/* Reset flag */
p_ptr->enter_dungeon = FALSE;