/* Invisible trap */
if (g_ptr->mimic && is_trap(g_ptr->feat))
{
- disclose_grid(y, x);
+ disclose_grid(p_ptr->current_floor_ptr, y, x);
msg_print(_("トラップを発見した。", "You have found a trap."));
disturb(p_ptr, FALSE, TRUE);
}
if (is_hidden_door(g_ptr))
{
msg_print(_("隠しドアを発見した。", "You have found a secret door."));
- disclose_grid(y, x);
+ disclose_grid(p_ptr->current_floor_ptr, y, x);
disturb(p_ptr, FALSE, FALSE);
}
msg_print(_("トラップだ!", "You found a trap!"));
/* Pick a trap */
- disclose_grid(creature_ptr->y, creature_ptr->x);
+ disclose_grid(creature_ptr->current_floor_ptr, creature_ptr->y, creature_ptr->x);
}
/* Hit the trap */
if (is_hidden_door(g_ptr))
{
/* Pick a door */
- disclose_grid(y, x);
+ disclose_grid(caster_ptr->current_floor_ptr, y, x);
/* Check line of sight */
if (known)
if (cave_have_flag_grid(g_ptr, flag))
{
- disclose_grid(y, x);
+ disclose_grid(caster_ptr->current_floor_ptr, y, x);
g_ptr->info |= (CAVE_MARK);
lite_spot(y, x);
detect = TRUE;
* @param x 秘匿したいマスのX座標
* @return なし
*/
-void disclose_grid(POSITION y, POSITION x)
+void disclose_grid(floor_type *floor_ptr, POSITION y, POSITION x)
{
- grid_type *g_ptr = &p_ptr->current_floor_ptr->grid_array[y][x];
+ grid_type *g_ptr = &floor_ptr->grid_array[y][x];
if (cave_have_flag_grid(g_ptr, FF_SECRET))
{
extern void init_normal_traps(void);
extern FEAT_IDX choose_random_trap(floor_type *floor_ptr);
-extern void disclose_grid(POSITION y, POSITION x);
+extern void disclose_grid(floor_type *floor_ptr, POSITION y, POSITION x);
extern void place_trap(floor_type *floor_ptr, POSITION y, POSITION x);
extern void hit_trap(player_type *trapped_ptr, bool break_trap);