OSDN Git Service

スコアサーバのOSDN移設に伴うサーバアドレス・URLの変更
[hengband/hengband.git] / src / spells2.c
index 047759a..9af8b83 100644 (file)
@@ -109,52 +109,52 @@ void self_knowledge(void)
        info[i++] = buf[1];
        for (v_nr = 0; v_nr < 8; v_nr++)
        {
-               char v_name [20];
+               char vir_name [20];
                char vir_desc[80];
                int tester = p_ptr->virtues[v_nr];
        
-               strcpy(v_name, virtue[(p_ptr->vir_types[v_nr])-1]);
+               strcpy(vir_name, virtue[(p_ptr->vir_types[v_nr])-1]);
  
-               sprintf(vir_desc, _("おっと。%sの情報なし。", "Oops. No info about %s."), v_name);
+               sprintf(vir_desc, _("おっと。%sの情報なし。", "Oops. No info about %s."), vir_name);
                if (tester < -100)
                        sprintf(vir_desc, _("[%s]の対極 (%d)", "You are the polar opposite of %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < -80)
                        sprintf(vir_desc, _("[%s]の大敵 (%d)", "You are an arch-enemy of %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < -60)
                        sprintf(vir_desc, _("[%s]の強敵 (%d)", "You are a bitter enemy of %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < -40)
                        sprintf(vir_desc, _("[%s]の敵 (%d)", "You are an enemy of %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < -20)
                        sprintf(vir_desc, _("[%s]の罪者 (%d)", "You have sinned against %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < 0)
                        sprintf(vir_desc, _("[%s]の迷道者 (%d)", "You have strayed from the path of %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester == 0)
                        sprintf(vir_desc, _("[%s]の中立者 (%d)", "You are neutral to %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < 20)
                        sprintf(vir_desc, _("[%s]の小徳者 (%d)", "You are somewhat virtuous in %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < 40)
                        sprintf(vir_desc, _("[%s]の中徳者 (%d)", "You are virtuous in %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < 60)
                        sprintf(vir_desc, _("[%s]の高徳者 (%d)", "You are very virtuous in %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < 80)
                        sprintf(vir_desc, _("[%s]の覇者 (%d)", "You are a champion of %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else if (tester < 100)
                        sprintf(vir_desc, _("[%s]の偉大な覇者 (%d)", "You are a great champion of %s (%d)."),
-                               v_name, tester);
+                               vir_name, tester);
                else
                        sprintf(vir_desc, _("[%s]の具現者 (%d)", "You are the living embodiment of %s (%d)."),
-               v_name, tester);
+                               vir_name, tester);
        
                strcpy(v_string[v_nr], vir_desc);
        
@@ -1834,7 +1834,7 @@ static bool detect_feat_flag(int range, int flag, bool known)
        {
                for (x = 1; x <= cur_wid - 1; x++)
                {
-                       int dist = distance(py, px, y, x);
+                       int dist = distance(p_ptr->y, p_ptr->x, y, x);
                        if (dist > range) continue;
 
                        /* Access the grid */
@@ -1999,7 +1999,7 @@ bool detect_objects_gold(int range)
                x = o_ptr->ix;
 
                /* Only detect nearby objects */
-               if (distance(py, px, y, x) > range2) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range2) continue;
 
                /* Detect "gold" objects */
                if (o_ptr->tval == TV_GOLD)
@@ -2063,7 +2063,7 @@ bool detect_objects_normal(int range)
                x = o_ptr->ix;
 
                /* Only detect nearby objects */
-               if (distance(py, px, y, x) > range2) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range2) continue;
 
                /* Detect "real" objects */
                if (o_ptr->tval != TV_GOLD)
@@ -2134,7 +2134,7 @@ bool detect_objects_magic(int range)
                x = o_ptr->ix;
 
                /* Only detect nearby objects */
-               if (distance(py, px, y, x) > range) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range) continue;
 
                /* Examine the tval */
                tv = o_ptr->tval;
@@ -2214,7 +2214,7 @@ bool detect_monsters_normal(int range)
                x = m_ptr->fx;
 
                /* Only detect nearby monsters */
-               if (distance(py, px, y, x) > range) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range) continue;
 
                /* Detect all non-invisible monsters */
                if (!(r_ptr->flags2 & RF2_INVISIBLE) || p_ptr->see_inv)
@@ -2273,7 +2273,7 @@ bool detect_monsters_invis(int range)
                x = m_ptr->fx;
 
                /* Only detect nearby monsters */
-               if (distance(py, px, y, x) > range) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range) continue;
 
                /* Detect invisible monsters */
                if (r_ptr->flags2 & RF2_INVISIBLE)
@@ -2338,7 +2338,7 @@ bool detect_monsters_evil(int range)
                x = m_ptr->fx;
 
                /* Only detect nearby monsters */
-               if (distance(py, px, y, x) > range) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range) continue;
 
                /* Detect evil monsters */
                if (r_ptr->flags3 & RF3_EVIL)
@@ -2407,7 +2407,7 @@ bool detect_monsters_nonliving(int range)
                x = m_ptr->fx;
 
                /* Only detect nearby monsters */
-               if (distance(py, px, y, x) > range) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range) continue;
 
                /* Detect non-living monsters */
                if (!monster_living(r_ptr))
@@ -2470,7 +2470,7 @@ bool detect_monsters_mind(int range)
                x = m_ptr->fx;
 
                /* Only detect nearby monsters */
-               if (distance(py, px, y, x) > range) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range) continue;
 
                /* Detect non-living monsters */
                if (!(r_ptr->flags2 & RF2_EMPTY_MIND))
@@ -2535,7 +2535,7 @@ bool detect_monsters_string(int range, cptr Match)
                x = m_ptr->fx;
 
                /* Only detect nearby monsters */
-               if (distance(py, px, y, x) > range) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range) continue;
 
                /* Detect monsters with the same symbol */
                if (my_strchr(Match, r_ptr->d_char))
@@ -2602,7 +2602,7 @@ bool detect_monsters_xxx(int range, u32b match_flag)
                x = m_ptr->fx;
 
                /* Only detect nearby monsters */
-               if (distance(py, px, y, x) > range) continue;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > range) continue;
 
                /* Detect evil monsters */
                if (r_ptr->flags3 & (match_flag))
@@ -2717,7 +2717,7 @@ bool project_hack(int typ, int dam)
                x = m_ptr->fx;
 
                /* Require line of sight */
-               if (!player_has_los_bold(y, x) || !projectable(py, px, y, x)) continue;
+               if (!player_has_los_bold(y, x) || !projectable(p_ptr->y, p_ptr->x, y, x)) continue;
 
                /* Mark the monster */
                m_ptr->mflag |= (MFLAG_TEMP);
@@ -3001,7 +3001,7 @@ bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spe
        }
 
        /* Visual feedback */
-       move_cursor_relative(py, px);
+       move_cursor_relative(p_ptr->y, p_ptr->x);
 
        /* Redraw */
        p_ptr->redraw |= (PR_HP);
@@ -3276,8 +3276,6 @@ sprintf(buf, "%s ... align:%s HP:%d/%d AC:%d speed:%s%d exp:", m_name, align, m_
                        /* Learn everything about this monster */
                        if (lore_do_probe(m_ptr->r_idx))
                        {
-                               char buf[80];
-
                                /* Get base name of monster */
                                strcpy(buf, (r_name + r_ptr->name));
 
@@ -3592,7 +3590,7 @@ bool destroy_area(int y1, int x1, int r, bool in_generate)
 
                if (p_ptr->special_defense & NINJA_S_STEALTH)
                {
-                       if (cave[py][px].info & CAVE_GLOW) set_superstealth(FALSE);
+                       if (cave[p_ptr->y][p_ptr->x].info & CAVE_GLOW) set_superstealth(FALSE);
                }
        }
 
@@ -3701,8 +3699,8 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                for (i = 0; i < 8; i++)
                {
                        /* Access the location */
-                       y = py + ddy_ddd[i];
-                       x = px + ddx_ddd[i];
+                       y = p_ptr->y + ddy_ddd[i];
+                       x = p_ptr->x + ddx_ddd[i];
 
                        /* Skip non-empty grids */
                        if (!cave_empty_bold(y, x)) continue;
@@ -3783,7 +3781,7 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                }
 
                /* Important -- no wall on player */
-               map[16+py-cy][16+px-cx] = FALSE;
+               map[16+p_ptr->y-cy][16+p_ptr->x-cx] = FALSE;
 
                /* Take some damage */
                if (damage)
@@ -3930,13 +3928,13 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                                        /* Hack -- Escape from the rock */
                                        if (sn)
                                        {
-                                               int m_idx = cave[yy][xx].m_idx;
+                                               int m_idx_aux = cave[yy][xx].m_idx;
 
                                                /* Update the old location */
                                                cave[yy][xx].m_idx = 0;
 
                                                /* Update the new location */
-                                               cave[sy][sx].m_idx = m_idx;
+                                               cave[sy][sx].m_idx = m_idx_aux;
 
                                                /* Move the monster */
                                                m_ptr->fy = sy;
@@ -4076,7 +4074,7 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
 
        if (p_ptr->special_defense & NINJA_S_STEALTH)
        {
-               if (cave[py][px].info & CAVE_GLOW) set_superstealth(FALSE);
+               if (cave[p_ptr->y][p_ptr->x].info & CAVE_GLOW) set_superstealth(FALSE);
        }
 
        /* Success */
@@ -4089,6 +4087,7 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
  * @return 効力があった場合TRUEを返す
  * @param cy 中心Y座標
  * @param cx 中心X座標
+ * @param r 効果半径
  */
 bool earthquake(int cy, int cx, int r)
 {
@@ -4424,7 +4423,7 @@ static void cave_temp_room_aux(int y, int x, bool only_room, bool (*pass_bold)(i
                if (!in_bounds2(y, x)) return;
 
                /* Do not exceed the maximum spell range */
-               if (distance(py, px, y, x) > MAX_RANGE) return;
+               if (distance(p_ptr->y, p_ptr->x, y, x) > MAX_RANGE) return;
 
                /* Verify this grid */
                /*
@@ -4454,7 +4453,7 @@ static void cave_temp_room_aux(int y, int x, bool only_room, bool (*pass_bold)(i
 /*!
  * @brief 指定のマスが光を通すか(LOSフラグを持つか)を返す。 / Aux function -- see below
  * @param y 指定Y座標
- * @param y 指定X座標
+ * @param x 指定X座標
  * @return 光を通すならばtrueを返す。
  */
 static bool cave_pass_lite_bold(int y, int x)
@@ -4465,7 +4464,7 @@ static bool cave_pass_lite_bold(int y, int x)
 /*!
  * @brief 部屋内にある一点の周囲がいくつ光を通すかをグローバル変数temp_nに返す / Aux function -- see below
  * @param y 指定Y座標
- * @param y 指定X座標
+ * @param x 指定X座標
  * @return なし
  */
 static void cave_temp_lite_room_aux(int y, int x)
@@ -4476,7 +4475,7 @@ static void cave_temp_lite_room_aux(int y, int x)
 /*!
  * @brief 指定のマスが光を通さず射線のみを通すかを返す。 / Aux function -- see below
  * @param y 指定Y座標
- * @param y 指定X座標
+ * @param x 指定X座標
  * @return 射線を通すならばtrueを返す。
  */
 static bool cave_pass_dark_bold(int y, int x)
@@ -4488,7 +4487,7 @@ static bool cave_pass_dark_bold(int y, int x)
 /*!
  * @brief 部屋内にある一点の周囲がいくつ射線を通すかをグローバル変数temp_nに返す / Aux function -- see below
  * @param y 指定Y座標
- * @param y 指定X座標
+ * @param x 指定X座標
  * @return なし
  */
 static void cave_temp_unlite_room_aux(int y, int x)
@@ -4499,8 +4498,8 @@ static void cave_temp_unlite_room_aux(int y, int x)
 
 /*!
  * @brief 指定された部屋内を照らす / Illuminate any room containing the given location.
- * @param y 指定Y座標
- * @param y 指定X座標
+ * @param y1 指定Y座標
+ * @param x1 指定X座標
  * @return なし
  */
 void lite_room(int y1, int x1)
@@ -4536,15 +4535,15 @@ void lite_room(int y1, int x1)
 
        if (p_ptr->special_defense & NINJA_S_STEALTH)
        {
-               if (cave[py][px].info & CAVE_GLOW) set_superstealth(FALSE);
+               if (cave[p_ptr->y][p_ptr->x].info & CAVE_GLOW) set_superstealth(FALSE);
        }
 }
 
 
 /*!
  * @brief 指定された部屋内を暗くする / Darken all rooms containing the given location
- * @param y 指定Y座標
- * @param y 指定X座標
+ * @param y1 指定Y座標
+ * @param x1 指定X座標
  * @return なし
  */
 void unlite_room(int y1, int x1)
@@ -4583,8 +4582,8 @@ void unlite_room(int y1, int x1)
 
 /*!
  * @brief プレイヤー位置を中心にLITE_WEAK属性を通じた照明処理を行う / Hack -- call light around the player Affect all monsters in the projection radius
- * @param y 指定Y座標
- * @param y 指定X座標
+ * @param dam 威力
+ * @param rad 効果半径
  * @return 作用が実際にあった場合TRUEを返す
  */
 bool lite_area(int dam, int rad)
@@ -4604,10 +4603,10 @@ bool lite_area(int dam, int rad)
        }
 
        /* Hook into the "project()" function */
-       (void)project(0, rad, py, px, dam, GF_LITE_WEAK, flg, -1);
+       (void)project(0, rad, p_ptr->y, p_ptr->x, dam, GF_LITE_WEAK, flg, -1);
 
        /* Lite up the room */
-       lite_room(py, px);
+       lite_room(p_ptr->y, p_ptr->x);
 
        /* Assume seen */
        return (TRUE);
@@ -4616,8 +4615,8 @@ bool lite_area(int dam, int rad)
 
 /*!
  * @brief プレイヤー位置を中心にLITE_DARK属性を通じた消灯処理を行う / Hack -- call light around the player Affect all monsters in the projection radius
- * @param y 指定Y座標
- * @param y 指定X座標
+ * @param dam 威力
+ * @param rad 効果半径
  * @return 作用が実際にあった場合TRUEを返す
  */
 bool unlite_area(int dam, int rad)
@@ -4631,10 +4630,10 @@ bool unlite_area(int dam, int rad)
        }
 
        /* Hook into the "project()" function */
-       (void)project(0, rad, py, px, dam, GF_DARK_WEAK, flg, -1);
+       (void)project(0, rad, p_ptr->y, p_ptr->x, dam, GF_DARK_WEAK, flg, -1);
 
        /* Lite up the room */
-       unlite_room(py, px);
+       unlite_room(p_ptr->y, p_ptr->x);
 
        /* Assume seen */
        return (TRUE);
@@ -4664,8 +4663,8 @@ bool fire_ball(int typ, int dir, int dam, int rad)
 
        if (typ == GF_CONTROL_LIVING) flg|= PROJECT_HIDE;
        /* Use the given direction */
-       tx = px + 99 * ddx[dir];
-       ty = py + 99 * ddy[dir];
+       tx = p_ptr->x + 99 * ddx[dir];
+       ty = p_ptr->y + 99 * ddy[dir];
 
        /* Hack -- Use an actual "target" */
        if ((dir == 5) && target_okay())
@@ -4702,8 +4701,8 @@ bool fire_rocket(int typ, int dir, int dam, int rad)
        int flg = PROJECT_STOP | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
 
        /* Use the given direction */
-       tx = px + 99 * ddx[dir];
-       ty = py + 99 * ddy[dir];
+       tx = p_ptr->x + 99 * ddx[dir];
+       ty = p_ptr->y + 99 * ddy[dir];
 
        /* Hack -- Use an actual "target" */
        if ((dir == 5) && target_okay())
@@ -4738,8 +4737,8 @@ bool fire_ball_hide(int typ, int dir, int dam, int rad)
        int flg = PROJECT_STOP | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL | PROJECT_HIDE;
 
        /* Use the given direction */
-       tx = px + 99 * ddx[dir];
-       ty = py + 99 * ddy[dir];
+       tx = p_ptr->x + 99 * ddx[dir];
+       ty = p_ptr->y + 99 * ddy[dir];
 
        /* Hack -- Use an actual "target" */
        if ((dir == 5) && target_okay())
@@ -4758,9 +4757,10 @@ bool fire_ball_hide(int typ, int dir, int dam, int rad)
  * @brief メテオ系スペルの発動 / Cast a meteor spell
  * @param who スぺル詠唱者のモンスターID(0=プレイヤー)
  * @param typ 効果属性
- * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
  * @param dam 威力
  * @param rad 半径
+ * @param y 中心点Y座標
+ * @param x 中心点X座標
  * @return 作用が実際にあった場合TRUEを返す
  * @details
  * <pre>
@@ -4768,7 +4768,6 @@ bool fire_ball_hide(int typ, int dir, int dam, int rad)
  * player, or outside source, that starts out at an arbitrary location, and 
  * leaving no trail from the "caster" to the target.  This function is 
  * especially useful for bombardments and similar. -LM-
- *
  * Option to hurt the player.
  * </pre>
  */
@@ -4783,7 +4782,6 @@ bool fire_meteor(int who, int typ, int y, int x, int dam, int rad)
 
 /*!
  * @brief ブラスト系スペルの発動 / Cast a blast spell
- * @param who スぺル詠唱者のモンスターID(0=プレイヤー)
  * @param typ 効果属性
  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
  * @param dd 威力ダイス数
@@ -4806,8 +4804,8 @@ bool fire_blast(int typ, int dir, int dd, int ds, int num, int dev)
        /* Use the given direction */
        if (dir != 5)
        {
-               ly = ty = py + 20 * ddy[dir];
-               lx = tx = px + 20 * ddx[dir];
+               ly = ty = p_ptr->y + 20 * ddy[dir];
+               lx = tx = p_ptr->x + 20 * ddx[dir];
        }
 
        /* Use an actual "target" */
@@ -4816,11 +4814,11 @@ bool fire_blast(int typ, int dir, int dd, int ds, int num, int dev)
                tx = target_col;
                ty = target_row;
 
-               lx = 20 * (tx - px) + px;
-               ly = 20 * (ty - py) + py;
+               lx = 20 * (tx - p_ptr->x) + p_ptr->x;
+               ly = 20 * (ty - p_ptr->y) + p_ptr->y;
        }
 
-       ld = distance(py, px, ly, lx);
+       ld = distance(p_ptr->y, p_ptr->x, ly, lx);
 
        /* Blast */
        for (i = 0; i < num; i++)
@@ -4864,8 +4862,8 @@ bool teleport_swap(int dir)
        }
        else
        {
-               tx = px + ddx[dir];
-               ty = py + ddy[dir];
+               tx = p_ptr->x + ddx[dir];
+               ty = p_ptr->y + ddy[dir];
        }
        c_ptr = &cave[ty][tx];
 
@@ -4883,7 +4881,7 @@ bool teleport_swap(int dir)
                return FALSE;
        }
 
-       if ((c_ptr->info & CAVE_ICKY) || (distance(ty, tx, py, px) > p_ptr->lev * 3 / 2 + 10))
+       if ((c_ptr->info & CAVE_ICKY) || (distance(ty, tx, p_ptr->y, p_ptr->x) > p_ptr->lev * 3 / 2 + 10))
        {
                msg_print(_("失敗した。", "Failed to swap."));
 
@@ -4932,8 +4930,8 @@ bool project_hook(int typ, int dir, int dam, int flg)
        flg |= (PROJECT_THRU);
 
        /* Use the given direction */
-       tx = px + ddx[dir];
-       ty = py + ddy[dir];
+       tx = p_ptr->x + ddx[dir];
+       ty = p_ptr->y + ddy[dir];
 
        /* Hack -- Use an actual "target" */
        if ((dir == 5) && target_okay())
@@ -4947,10 +4945,17 @@ bool project_hook(int typ, int dir, int dam, int flg)
 }
 
 
-/*
- * Cast a bolt spell.
+/*!
+ * @brief ボルト系スペルの発動 / Cast a bolt spell.
+ * @param typ 効果属性
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param dam 威力
+ * @return 作用が実際にあった場合TRUEを返す
+ * @details
+ * <pre>
  * Stop if we hit a monster, as a "bolt".
  * Affect monsters and grids (not objects).
+ * </pre>
  */
 bool fire_bolt(int typ, int dir, int dam)
 {
@@ -4960,10 +4965,17 @@ bool fire_bolt(int typ, int dir, int dam)
 }
 
 
-/*
- * Cast a beam spell.
+/*!
+ * @brief ビーム系スペルの発動 / Cast a beam spell.
+ * @param typ 効果属性
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param dam 威力
+ * @return 作用が実際にあった場合TRUEを返す
+ * @details
+ * <pre>
  * Pass through monsters, as a "beam".
  * Affect monsters, grids and objects.
+ * </pre>
  */
 bool fire_beam(int typ, int dir, int dam)
 {
@@ -4972,8 +4984,18 @@ bool fire_beam(int typ, int dir, int dam)
 }
 
 
-/*
- * Cast a bolt spell, or rarely, a beam spell
+/*!
+ * @brief 確率に応じたボルト系/ビーム系スペルの発動 / Cast a bolt spell, or rarely, a beam spell.
+ * @param prob ビーム化する確率(%)
+ * @param typ 効果属性
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param dam 威力
+ * @return 作用が実際にあった場合TRUEを返す
+ * @details
+ * <pre>
+ * Pass through monsters, as a "beam".
+ * Affect monsters, grids and objects.
+ * </pre>
  */
 bool fire_bolt_or_beam(int prob, int typ, int dir, int dam)
 {
@@ -4987,9 +5009,11 @@ bool fire_bolt_or_beam(int prob, int typ, int dir, int dam)
        }
 }
 
-
-/*
- * Some of the old functions
+/*!
+ * @brief LITE_WEAK属性による光源ビーム処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param dam 威力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool lite_line(int dir, int dam)
 {
@@ -4997,96 +5021,163 @@ bool lite_line(int dir, int dam)
        return (project_hook(GF_LITE_WEAK, dir, dam, flg));
 }
 
-
+/*!
+ * @brief 吸血ボルト処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param dam 威力
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool drain_life(int dir, int dam)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_DRAIN, dir, dam, flg));
 }
 
-
+/*!
+ * @brief 岩石溶解処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param dam 威力
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool wall_to_mud(int dir, int dam)
 {
        int flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
        return (project_hook(GF_KILL_WALL, dir, dam, flg));
 }
 
-
+/*!
+ * @brief 魔法の施錠処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool wizard_lock(int dir)
 {
        int flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
        return (project_hook(GF_JAM_DOOR, dir, 20 + randint1(30), flg));
 }
 
-
+/*!
+ * @brief ドア破壊処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool destroy_door(int dir)
 {
        int flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM;
        return (project_hook(GF_KILL_DOOR, dir, 0, flg));
 }
 
-
+/*!
+ * @brief トラップ解除処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool disarm_trap(int dir)
 {
        int flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM;
        return (project_hook(GF_KILL_TRAP, dir, 0, flg));
 }
 
-
+/*!
+ * @brief モンスター回復処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param dam 威力
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool heal_monster(int dir, int dam)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_HEAL, dir, dam, flg));
 }
 
-
+/*!
+ * @brief モンスター加速処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param power 効力
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool speed_monster(int dir, int power)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_SPEED, dir, power, flg));
 }
 
-
+/*!
+ * @brief モンスター減速処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param power 効力
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool slow_monster(int dir, int power)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_SLOW, dir, power, flg));
 }
 
-
+/*!
+ * @brief モンスター催眠処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param power 効力
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool sleep_monster(int dir, int power)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_SLEEP, dir, power, flg));
 }
 
-
+/*!
+ * @brief モンスター拘束(STASIS)処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @return 作用が実際にあった場合TRUEを返す
+ * @details 威力はプレイヤーレベル*2に固定
+ */
 bool stasis_monster(int dir)
 {
        return (fire_ball_hide(GF_STASIS, dir, p_ptr->lev*2, 0));
 }
 
-
+/*!
+ * @brief 邪悪なモンスター拘束(STASIS)処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @return 作用が実際にあった場合TRUEを返す
+ * @details 威力はプレイヤーレベル*2に固定
+ */
 bool stasis_evil(int dir)
 {
        return (fire_ball_hide(GF_STASIS_EVIL, dir, p_ptr->lev*2, 0));
 }
 
-
+/*!
+ * @brief モンスター混乱処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev プレイヤーレベル(=効力)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool confuse_monster(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_CONF, dir, plev, flg));
 }
 
-
+/*!
+ * @brief モンスター朦朧処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev プレイヤーレベル(=効力)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool stun_monster(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_STUN, dir, plev, flg));
 }
 
-
+/*!
+ * @brief チェンジモンスター処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param power 効力
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool poly_monster(int dir, int power)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
@@ -5096,70 +5187,104 @@ bool poly_monster(int dir, int power)
        return(tester);
 }
 
-
+/*!
+ * @brief クローンモンスター処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool clone_monster(int dir)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_CLONE, dir, 0, flg));
 }
 
-
+/*!
+ * @brief モンスター恐慌処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev プレイヤーレベル(=効力)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool fear_monster(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_TURN_ALL, dir, plev, flg));
 }
 
-
+/*!
+ * @brief 死の光線処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev プレイヤーレベル(効力はplev*200)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool death_ray(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_DEATH_RAY, dir, plev * 200, flg));
 }
 
-
+/*!
+ * @brief モンスター用テレポート処理
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param distance 移動距離
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool teleport_monster(int dir, int distance)
 {
        int flg = PROJECT_BEAM | PROJECT_KILL;
        return (project_hook(GF_AWAY_ALL, dir, distance, flg));
 }
 
-/*
- * Hooks -- affect adjacent grids (radius 1 ball attack)
+/*!
+ * @brief ドア生成処理(プレイヤー中心に周囲1マス) / Hooks -- affect adjacent grids (radius 1 ball attack)
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool door_creation(void)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_HIDE;
-       return (project(0, 1, py, px, 0, GF_MAKE_DOOR, flg, -1));
+       return (project(0, 1, p_ptr->y, p_ptr->x, 0, GF_MAKE_DOOR, flg, -1));
 }
 
-
+/*!
+ * @brief トラップ生成処理(起点から周囲1マス)
+ * @param y 起点Y座標
+ * @param x 起点X座標
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool trap_creation(int y, int x)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_HIDE;
        return (project(0, 1, y, x, 0, GF_MAKE_TRAP, flg, -1));
 }
 
-
+/*!
+ * @brief 森林生成処理(プレイヤー中心に周囲1マス)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool tree_creation(void)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_HIDE;
-       return (project(0, 1, py, px, 0, GF_MAKE_TREE, flg, -1));
+       return (project(0, 1, p_ptr->y, p_ptr->x, 0, GF_MAKE_TREE, flg, -1));
 }
 
-
+/*!
+ * @brief 魔法のルーン生成処理(プレイヤー中心に周囲1マス)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool glyph_creation(void)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM;
-       return (project(0, 1, py, px, 0, GF_MAKE_GLYPH, flg, -1));
+       return (project(0, 1, p_ptr->y, p_ptr->x, 0, GF_MAKE_GLYPH, flg, -1));
 }
 
-
+/*!
+ * @brief 壁生成処理(プレイヤー中心に周囲1マス)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool wall_stone(void)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_HIDE;
 
-       bool dummy = (project(0, 1, py, px, 0, GF_STONE_WALL, flg, -1));
+       bool dummy = (project(0, 1, p_ptr->y, p_ptr->x, 0, GF_STONE_WALL, flg, -1));
 
        /* Update stuff */
        p_ptr->update |= (PU_FLOW);
@@ -5170,33 +5295,54 @@ bool wall_stone(void)
        return dummy;
 }
 
-
+/*!
+ * @brief ドア破壊処理(プレイヤー中心に周囲1マス)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool destroy_doors_touch(void)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_HIDE;
-       return (project(0, 1, py, px, 0, GF_KILL_DOOR, flg, -1));
+       return (project(0, 1, p_ptr->y, p_ptr->x, 0, GF_KILL_DOOR, flg, -1));
 }
 
+/*!
+ * @brief トラップ解除処理(プレイヤー中心に周囲1マス)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool disarm_traps_touch(void)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_HIDE;
-       return (project(0, 1, py, px, 0, GF_KILL_TRAP, flg, -1));
+       return (project(0, 1, p_ptr->y, p_ptr->x, 0, GF_KILL_TRAP, flg, -1));
 }
 
+/*!
+ * @brief スリープモンスター処理(プレイヤー中心に周囲1マス)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool sleep_monsters_touch(void)
 {
        int flg = PROJECT_KILL | PROJECT_HIDE;
-       return (project(0, 1, py, px, p_ptr->lev, GF_OLD_SLEEP, flg, -1));
+       return (project(0, 1, p_ptr->y, p_ptr->x, p_ptr->lev, GF_OLD_SLEEP, flg, -1));
 }
 
 
+/*!
+ * @brief 死者復活処理(起点より周囲5マス)
+ * @param who 術者モンスターID(0ならばプレイやー)
+ * @param y 起点Y座標
+ * @param x 起点X座標
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool animate_dead(int who, int y, int x)
 {
        int flg = PROJECT_ITEM | PROJECT_HIDE;
        return (project(who, 5, y, x, 0, GF_ANIM_DEAD, flg, -1));
 }
 
-
+/*!
+ * @brief 混沌招来処理
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 void call_chaos(void)
 {
        int Chaos_type, dummy, dir;
@@ -5208,7 +5354,7 @@ void call_chaos(void)
                GF_ELEC,      GF_POIS,    GF_ACID,    GF_COLD,
                GF_FIRE,      GF_MISSILE, GF_ARROW,   GF_PLASMA,
                GF_HOLY_FIRE, GF_WATER,   GF_LITE,    GF_DARK,
-               GF_FORCE,     GF_INERTIA, GF_MANA,    GF_METEOR,
+               GF_FORCE,     GF_INERTIAL, GF_MANA,    GF_METEOR,
                GF_ICE,       GF_CHAOS,   GF_NETHER,  GF_DISENCHANT,
                GF_SHARDS,    GF_SOUND,   GF_NEXUS,   GF_CONFUSION,
                GF_TIME,      GF_GRAVITY, GF_ROCKET,  GF_NUKE,
@@ -5245,11 +5391,16 @@ void call_chaos(void)
        }
 }
 
-
-/*
- * Activate the evil Topi Ylinen curse
+/*!
+ * @brief TY_CURSE処理発動 / Activate the evil Topi Ylinen curse
+ * @param stop_ty 再帰処理停止フラグ
+ * @param count 発動回数
+ * @return 作用が実際にあった場合TRUEを返す
+ * @details
+ * <pre>
  * rr9: Stop the nasty things when a Cyberdemon is summoned
  * or the player gets paralyzed.
+ * </pre>
  */
 bool activate_ty_curse(bool stop_ty, int *count)
 {
@@ -5265,7 +5416,7 @@ bool activate_ty_curse(bool stop_ty, int *count)
                        if (!(*count))
                        {
                                msg_print(_("地面が揺れた...", "The ground trembles..."));
-                               earthquake(py, px, 5 + randint0(10));
+                               earthquake(p_ptr->y, p_ptr->x, 5 + randint0(10));
                                if (!one_in_(6)) break;
                        }
                case 30: case 31:
@@ -5273,7 +5424,7 @@ bool activate_ty_curse(bool stop_ty, int *count)
                        {
                                int dam = damroll(10, 10);
                                msg_print(_("純粋な魔力の次元への扉が開いた!", "A portal opens to a plane of raw mana!"));
-                               project(0, 8, py, px, dam, GF_MANA, flg, -1);
+                               project(0, 8, p_ptr->y, p_ptr->x, dam, GF_MANA, flg, -1);
                                take_hit(DAMAGE_NOESCAPE, dam, _("純粋な魔力の解放", "released pure mana"), -1);
                                if (!one_in_(6)) break;
                        }
@@ -5282,7 +5433,7 @@ bool activate_ty_curse(bool stop_ty, int *count)
                        {
                                msg_print(_("周囲の空間が歪んだ!", "Space warps about you!"));
                                teleport_player(damroll(10, 10), TELEPORT_PASSIVE);
-                               if (randint0(13)) (*count) += activate_hi_summon(py, px, FALSE);
+                               if (randint0(13)) (*count) += activate_hi_summon(p_ptr->y, p_ptr->x, FALSE);
                                if (!one_in_(6)) break;
                        }
                case 34:
@@ -5290,7 +5441,7 @@ bool activate_ty_curse(bool stop_ty, int *count)
                        wall_breaker();
                        if (!randint0(7))
                        {
-                               project(0, 7, py, px, 50, GF_KILL_WALL, flg, -1);
+                               project(0, 7, p_ptr->y, p_ptr->x, 50, GF_KILL_WALL, flg, -1);
                                take_hit(DAMAGE_NOESCAPE, 50, _("エネルギーのうねり", "surge of energy"), -1);
                        }
                        if (!one_in_(6)) break;
@@ -5298,10 +5449,10 @@ bool activate_ty_curse(bool stop_ty, int *count)
                        aggravate_monsters(0);
                        if (!one_in_(6)) break;
                case 4: case 5: case 6:
-                       (*count) += activate_hi_summon(py, px, FALSE);
+                       (*count) += activate_hi_summon(p_ptr->y, p_ptr->x, FALSE);
                        if (!one_in_(6)) break;
                case 7: case 8: case 9: case 18:
-                       (*count) += summon_specific(0, py, px, dun_level, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE | PM_NO_PET));
+                       (*count) += summon_specific(0, p_ptr->y, p_ptr->x, dun_level, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE | PM_NO_PET));
                        if (!one_in_(6)) break;
                case 10: case 11: case 12:
                        msg_print(_("経験値が体から吸い取られた気がする!", "You feel your experience draining away..."));
@@ -5335,7 +5486,7 @@ bool activate_ty_curse(bool stop_ty, int *count)
                         */
                        if ((dun_level > 65) && !stop_ty)
                        {
-                               (*count) += summon_cyber(-1, py, px);
+                               (*count) += summon_cyber(-1, p_ptr->y, p_ptr->x);
                                stop_ty = TRUE;
                                break;
                        }
@@ -5358,7 +5509,13 @@ bool activate_ty_curse(bool stop_ty, int *count)
        return stop_ty;
 }
 
-
+/*!
+ * @brief HI_SUMMON(上級召喚)処理発動
+ * @param y 召喚位置Y座標
+ * @param x 召喚位置X座標
+ * @param can_pet プレイヤーのペットとなる可能性があるならばTRUEにする
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 int activate_hi_summon(int y, int x, bool can_pet)
 {
        int i;
@@ -5441,7 +5598,13 @@ int activate_hi_summon(int y, int x, bool can_pet)
 }
 
 
-/* ToDo: check */
+/*!
+ * @brief サイバーデーモンの召喚
+ * @param who 召喚主のモンスターID(0ならばプレイヤー)
+ * @param y 召喚位置Y座標
+ * @param x 召喚位置X座標
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 int summon_cyber(int who, int y, int x)
 {
        int i;
@@ -5466,18 +5629,21 @@ int summon_cyber(int who, int y, int x)
        return count;
 }
 
-
+/*!
+ * @brief 周辺破壊効果(プレイヤー中心)
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 void wall_breaker(void)
 {
        int i;
-       int y, x;
+       int y = 0, x = 0;
        int attempts = 1000;
 
        if (randint1(80 + p_ptr->lev) < 70)
        {
                while (attempts--)
                {
-                       scatter(&y, &x, py, px, 4, 0);
+                       scatter(&y, &x, p_ptr->y, p_ptr->x, 4, 0);
 
                        if (!cave_have_flag_bold(y, x, FF_PROJECT)) continue;
 
@@ -5489,7 +5655,7 @@ void wall_breaker(void)
        }
        else if (randint1(100) > 30)
        {
-               earthquake(py, px, 1);
+               earthquake(p_ptr->y, p_ptr->x, 1);
        }
        else
        {
@@ -5499,7 +5665,7 @@ void wall_breaker(void)
                {
                        while (1)
                        {
-                               scatter(&y, &x, py, px, 10, 0);
+                               scatter(&y, &x, p_ptr->y, p_ptr->x, 10, 0);
 
                                if (!player_bold(y, x)) break;
                        }
@@ -5511,8 +5677,10 @@ void wall_breaker(void)
 }
 
 
-/*
- * Confuse monsters
+/*!
+ * @brief パニック・モンスター効果(プレイヤー視界範囲内) / Confuse monsters
+ * @param dam 効力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool confuse_monsters(int dam)
 {
@@ -5520,8 +5688,10 @@ bool confuse_monsters(int dam)
 }
 
 
-/*
- * Charm monsters
+/*!
+ * @brief チャーム・モンスター効果(プレイヤー視界範囲内) / Charm monsters
+ * @param dam 効力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool charm_monsters(int dam)
 {
@@ -5529,8 +5699,10 @@ bool charm_monsters(int dam)
 }
 
 
-/*
- * Charm animals
+/*!
+ * @brief 動物魅了効果(プレイヤー視界範囲内) / Charm Animals
+ * @param dam 効力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool charm_animals(int dam)
 {
@@ -5538,8 +5710,10 @@ bool charm_animals(int dam)
 }
 
 
-/*
- * Stun monsters
+/*!
+ * @brief モンスター朦朧効果(プレイヤー視界範囲内) / Stun monsters
+ * @param dam 効力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool stun_monsters(int dam)
 {
@@ -5547,8 +5721,10 @@ bool stun_monsters(int dam)
 }
 
 
-/*
- * Stasis monsters
+/*!
+ * @brief モンスター停止効果(プレイヤー視界範囲内) / Stasis monsters
+ * @param dam 効力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool stasis_monsters(int dam)
 {
@@ -5556,8 +5732,10 @@ bool stasis_monsters(int dam)
 }
 
 
-/*
- * Mindblast monsters
+/*!
+ * @brief モンスター精神攻撃効果(プレイヤー視界範囲内) / Mindblast monsters
+ * @param dam 効力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool mindblast_monsters(int dam)
 {
@@ -5565,8 +5743,10 @@ bool mindblast_monsters(int dam)
 }
 
 
-/*
- * Banish all monsters
+/*!
+ * @brief モンスター追放効果(プレイヤー視界範囲内) / Banish all monsters
+ * @param dist 効力(距離)
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool banish_monsters(int dist)
 {
@@ -5574,8 +5754,10 @@ bool banish_monsters(int dist)
 }
 
 
-/*
- * Turn evil
+/*!
+ * @brief 邪悪退散効果(プレイヤー視界範囲内) / Turn evil
+ * @param dam 効力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool turn_evil(int dam)
 {
@@ -5583,8 +5765,10 @@ bool turn_evil(int dam)
 }
 
 
-/*
- * Turn everyone
+/*!
+ * @brief 全モンスター退散効果(プレイヤー視界範囲内) / Turn everyone
+ * @param dam 効力
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool turn_monsters(int dam)
 {
@@ -5592,50 +5776,80 @@ bool turn_monsters(int dam)
 }
 
 
-/*
- * Death-ray all monsters (note: OBSCENELY powerful)
+/*!
+ * @brief 死の光線(プレイヤー視界範囲内) / Death-ray all monsters (note: OBSCENELY powerful)
+ * @return 作用が実際にあった場合TRUEを返す
  */
 bool deathray_monsters(void)
 {
        return (project_hack(GF_DEATH_RAY, p_ptr->lev * 200));
 }
 
-
+/*!
+ * @brief チャーム・モンスター(1体)
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool charm_monster(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CHARM, dir, plev, flg));
 }
 
-
+/*!
+ * @brief アンデッド支配(1体)
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool control_one_undead(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CONTROL_UNDEAD, dir, plev, flg));
 }
 
-
+/*!
+ * @brief 悪魔支配(1体)
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool control_one_demon(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CONTROL_DEMON, dir, plev, flg));
 }
 
-
+/*!
+ * @brief 動物支配(1体)
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool charm_animal(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CONTROL_ANIMAL, dir, plev, flg));
 }
 
-
+/*!
+ * @brief 生物支配(1体)
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool charm_living(int dir, int plev)
 {
        int flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CONTROL_LIVING, dir, plev, flg));
 }
 
-
+/*!
+ * @brief 変わり身処理
+ * @param success 判定成功上の処理ならばTRUE
+ * @return 作用が実際にあった場合TRUEを返す
+ */
 bool kawarimi(bool success)
 {
        object_type forge;
@@ -5654,8 +5868,8 @@ bool kawarimi(bool success)
                return FALSE;
        }
 
-       y = py;
-       x = px;
+       y = p_ptr->y;
+       x = p_ptr->x;
 
        teleport_player(10 + randint1(90), 0L);
 
@@ -5684,9 +5898,10 @@ bool kawarimi(bool success)
 }
 
 
-/*
- * "Rush Attack" routine for Samurai or Ninja
- * Return value is for checking "done"
+/*!
+ * @brief 入身処理 / "Rush Attack" routine for Samurai or Ninja
+ * @param mdeath 目標モンスターが死亡したかを返す
+ * @return 作用が実際にあった場合TRUEを返す /  Return value is for checking "done"
  */
 bool rush_attack(bool *mdeath)
 {
@@ -5704,8 +5919,8 @@ bool rush_attack(bool *mdeath)
        if (!get_aim_dir(&dir)) return FALSE;
 
        /* Use the given direction */
-       tx = px + project_length * ddx[dir];
-       ty = py + project_length * ddy[dir];
+       tx = p_ptr->x + project_length * ddx[dir];
+       ty = p_ptr->y + project_length * ddy[dir];
 
        /* Hack -- Use an actual "target" */
        if ((dir == 5) && target_okay())
@@ -5716,15 +5931,15 @@ bool rush_attack(bool *mdeath)
 
        if (in_bounds(ty, tx)) tm_idx = cave[ty][tx].m_idx;
 
-       path_n = project_path(path_g, project_length, py, px, ty, tx, PROJECT_STOP | PROJECT_KILL);
+       path_n = project_path(path_g, project_length, p_ptr->y, p_ptr->x, ty, tx, PROJECT_STOP | PROJECT_KILL);
        project_length = 0;
 
        /* No need to move */
        if (!path_n) return TRUE;
 
        /* Use ty and tx as to-move point */
-       ty = py;
-       tx = px;
+       ty = p_ptr->y;
+       tx = p_ptr->x;
 
        /* Project along the path */
        for (i = 0; i < path_n; i++)
@@ -5800,8 +6015,10 @@ bool rush_attack(bool *mdeath)
 }
 
 
-/*
- * Remove all mirrors in this floor
+/*!
+ * @brief 全鏡の消去 / Remove all mirrors in this floor
+ * @param explode 爆発処理を伴うならばTRUE
+ * @return なし
  */
 void remove_all_mirrors(bool explode)
 {