g_ptr->info |= CAVE_SOLID;
if (g_ptr->m_idx) delete_monster_idx(g_ptr->m_idx);
}
+
+/*!
+ * モンスターにより照明が消されている地形か否かを判定する。 / Is this grid "darkened" by monster?
+ */
+bool darkened_grid(player_type *player_ptr, grid_type *g_ptr)
+{
+ return ((g_ptr->info & (CAVE_VIEW | CAVE_LITE | CAVE_MNLT | CAVE_MNDK)) == (CAVE_VIEW | CAVE_MNDK)) &&
+ !player_ptr->see_nocto;
+}
extern void place_outer_grid(grid_type *g_ptr);
extern void place_outer_noperm_grid(grid_type *g_ptr);
extern void place_solid_perm_grid(grid_type *g_ptr);
-
-/*!
- * モンスターにより照明が消されている地形か否かを判定する。 / Is this grid "darkened" by monster?
- */
-#define darkened_grid(C) \
- ((((C)->info & (CAVE_VIEW | CAVE_LITE | CAVE_MNLT | CAVE_MNDK)) == (CAVE_VIEW | CAVE_MNDK)) && \
- !p_ptr->see_nocto)
+extern bool darkened_grid(grid_type *g_ptr);
/*
* Get feature mimic from f_info[] (applying "mimic" field)
}
/* Mega-Hack -- Handle "in-sight" and "darkened" grids */
- else if (darkened_grid(g_ptr))
+ else if (darkened_grid(p_ptr, g_ptr))
{
/* Unsafe grid -- idea borrowed from Unangband */
feat = (view_unsafe_grids && (g_ptr->info & CAVE_UNSAFE)) ? feat_undetected : feat_none;
}
/* Mega-Hack -- Handle "in-sight" and "darkened" grids */
- else if (darkened_grid(g_ptr) && !p_ptr->blind)
+ else if (darkened_grid(p_ptr, g_ptr) && !p_ptr->blind)
{
if (have_flag(f_ptr->flags, FF_LOS) && have_flag(f_ptr->flags, FF_PROJECT))
{