+static void process_fishing(void)
+{
+ Term_xtra(TERM_XTRA_DELAY, 10);
+ if (one_in_(1000))
+ {
+ MONRACE_IDX r_idx;
+ bool success = FALSE;
+ get_mon_num_prep(monster_is_fishing_target, NULL);
+ r_idx = get_mon_num(current_floor_ptr->dun_level ? current_floor_ptr->dun_level : wilderness[p_ptr->wilderness_y][p_ptr->wilderness_x].level);
+ msg_print(NULL);
+ if (r_idx && one_in_(2))
+ {
+ POSITION y, x;
+ y = p_ptr->y + ddy[p_ptr->fishing_dir];
+ x = p_ptr->x + ddx[p_ptr->fishing_dir];
+ if (place_monster_aux(0, y, x, r_idx, PM_NO_KAGE))
+ {
+ GAME_TEXT m_name[MAX_NLEN];
+ monster_desc(m_name, ¤t_floor_ptr->m_list[current_floor_ptr->grid_array[y][x].m_idx], 0);
+ msg_format(_("%sが釣れた!", "You have a good catch!"), m_name);
+ success = TRUE;
+ }
+ }
+ if (!success)
+ {
+ msg_print(_("餌だけ食われてしまった!くっそ~!", "Damn! The fish stole your bait!"));
+ }
+ disturb(FALSE, TRUE);
+ }
+}
+