FEAT_IDX feat;
/* Pick a trap */
- while (1)
+ while (TRUE)
{
/* Hack -- pick a trap */
feat = normal_traps[randint0(MAX_NORMAL_TRAPS)];
return feat;
}
+
/*!
* @brief マスに存在する隠しトラップを公開する /
* Disclose an invisible trap
+* @param player
* @param y 秘匿したいマスのY座標
* @param x 秘匿したいマスのX座標
* @return なし
*/
-void disclose_grid(POSITION y, POSITION x)
+void disclose_grid(player_type *trapped_ptr, POSITION y, POSITION x)
{
- grid_type *g_ptr = &p_ptr->current_floor_ptr->grid_array[y][x];
+ grid_type *g_ptr = &trapped_ptr->current_floor_ptr->grid_array[y][x];
if (cave_have_flag_grid(g_ptr, FF_SECRET))
{
/* No longer hidden */
- cave_alter_feat(y, x, FF_SECRET);
+ cave_alter_feat(trapped_ptr, y, x, FF_SECRET);
}
else if (g_ptr->mimic)
{
}
}
+
/*!
* @brief マスをトラップを配置する /
* The location must be a legal, naked, floor grid.
if (k < 10) return (k < 5);
if (target_ptr->pseikaku == SEIKAKU_NAMAKE)
- if (one_in_(20)) return (TRUE);
+ if (one_in_(20)) return TRUE;
/* Paranoia -- No power */
- if (power <= 0) return (FALSE);
+ if (power <= 0) return FALSE;
/* Total armor */
ac = target_ptr->ac + target_ptr->to_a;
/* Power competes against Armor */
- if (randint1(power) > ((ac * 3) / 4)) return (TRUE);
+ if (randint1(power) > ((ac * 3) / 4)) return TRUE;
/* Assume miss */
- return (FALSE);
+ return FALSE;
}
disturb(trapped_ptr, FALSE, TRUE);
- cave_alter_feat(y, x, FF_HIT_TRAP);
+ cave_alter_feat(trapped_ptr, y, x, FF_HIT_TRAP);
/* Analyze */
switch (trap_feat_type)
msg_print(_("突然壁から水が溢れ出した!ピラニアがいる!", "Suddenly, the room is filled with water with piranhas!"));
/* Water fills room */
- fire_ball_hide(p_ptr, GF_WATER_FLOW, 0, 1, 10);
+ fire_ball_hide(trapped_ptr, GF_WATER_FLOW, 0, 1, 10);
/* Summon Piranhas */
num = 1 + trapped_ptr->current_floor_ptr->dun_level / 20;
if (break_trap && is_trap(g_ptr->feat))
{
- cave_alter_feat(y, x, FF_DISARM);
+ cave_alter_feat(trapped_ptr, y, x, FF_DISARM);
msg_print(_("トラップを粉砕した。", "You destroyed the trap."));
}
}