OSDN Git Service

[Refactor] #37353 コメント整理 / Refactor comments.
[hengband/hengband.git] / src / spells2.c
index a5a36b2..6dd8ead 100644 (file)
@@ -906,7 +906,7 @@ bool detect_all(POSITION range)
  * this is done in two passes. -- JDL
  * </pre>
  */
-bool project_hack(int typ, HIT_POINT dam)
+bool project_hack(EFFECT_ID typ, HIT_POINT dam)
 {
        int     i, x, y;
        int     flg = PROJECT_JUMP | PROJECT_KILL | PROJECT_HIDE;
@@ -1632,7 +1632,7 @@ bool destroy_area(POSITION y1, POSITION x1, POSITION r, bool in_generate)
                        /* During generation, destroyed artifacts are "preserved" */
                        if (preserve_mode || in_generate)
                        {
-                               s16b this_o_idx, next_o_idx = 0;
+                               OBJECT_IDX this_o_idx, next_o_idx = 0;
 
                                /* Scan all objects in the grid */
                                for (this_o_idx = c_ptr->o_idx; this_o_idx; this_o_idx = next_o_idx)
@@ -1772,7 +1772,6 @@ bool destroy_area(POSITION y1, POSITION x1, POSITION r, bool in_generate)
                /* Hack -- Affect player */
                if (flag)
                {
-                       /* Message */
                        msg_print(_("燃えるような閃光が発生した!", "There is a searing blast of light!"));
 
                        /* Blind the player */
@@ -2114,7 +2113,6 @@ bool earthquake_aux(POSITION cy, POSITION cx, POSITION r, MONSTER_IDX m_idx)
                                        /* Delete (not kill) "dead" monsters */
                                        if (m_ptr->hp < 0)
                                        {
-                                               /* Message */
                                                if (!ignore_unview || is_seen(m_ptr)) 
                                                        msg_format(_("%^sは岩石に埋もれてしまった!", "%^s is embedded in the rock!"), m_name);
 
@@ -2387,8 +2385,8 @@ static void cave_temp_room_lite(void)
        /* Clear them all */
        for (i = 0; i < temp_n; i++)
        {
-               int y = temp_y[i];
-               int x = temp_x[i];
+               POSITION y = temp_y[i];
+               POSITION x = temp_x[i];
 
                cave_type *c_ptr = &cave[y][x];
 
@@ -2473,8 +2471,8 @@ static void cave_temp_room_unlite(void)
        /* Clear them all */
        for (i = 0; i < temp_n; i++)
        {
-               int y = temp_y[i];
-               int x = temp_x[i];
+               POSITION y = temp_y[i];
+               POSITION x = temp_x[i];
                int j;
 
                cave_type *c_ptr = &cave[y][x];
@@ -2546,11 +2544,11 @@ static void cave_temp_room_unlite(void)
  * @param pass_bold 地形条件を返す関数ポインタ
  * @return 該当地形の数
  */
-static int next_to_open(int cy, int cx, bool (*pass_bold)(int, int))
+static int next_to_open(POSITION cy, POSITION cx, bool (*pass_bold)(POSITION, POSITION))
 {
        int i;
 
-       int y, x;
+       POSITION y, x;
 
        int len = 0;
        int blen = 0;
@@ -2587,12 +2585,10 @@ static int next_to_open(int cy, int cx, bool (*pass_bold)(int, int))
  * @param pass_bold 地形条件を返す関数ポインタ
  * @return 該当地形の数
  */
-static int next_to_walls_adj(int cy, int cx, bool (*pass_bold)(int, int))
+static int next_to_walls_adj(POSITION cy, POSITION cx, bool (*pass_bold)(POSITION, POSITION))
 {
-       int i;
-
-       int y, x;
-
+       DIRECTION i;
+       POSITION y, x;
        int c = 0;
 
        for (i = 0; i < 8; i++)
@@ -2615,7 +2611,7 @@ static int next_to_walls_adj(int cy, int cx, bool (*pass_bold)(int, int))
  * @param pass_bold 地形条件を返す関数ポインタ
  * @return 該当地形の数
  */
-static void cave_temp_room_aux(int y, int x, bool only_room, bool (*pass_bold)(int, int))
+static void cave_temp_room_aux(POSITION y, POSITION x, bool only_room, bool (*pass_bold)(POSITION, POSITION))
 {
        cave_type *c_ptr;
 
@@ -2667,7 +2663,7 @@ static void cave_temp_room_aux(int y, int x, bool only_room, bool (*pass_bold)(i
  * @param x 指定X座標
  * @return 光を通すならばtrueを返す。
  */
-static bool cave_pass_lite_bold(int y, int x)
+static bool cave_pass_lite_bold(POSITION y, POSITION x)
 {
        return cave_los_bold(y, x);
 }
@@ -2678,7 +2674,7 @@ static bool cave_pass_lite_bold(int y, int x)
  * @param x 指定X座標
  * @return なし
  */
-static void cave_temp_lite_room_aux(int y, int x)
+static void cave_temp_lite_room_aux(POSITION y, POSITION x)
 {
        cave_temp_room_aux(y, x, FALSE, cave_pass_lite_bold);
 }
@@ -2689,7 +2685,7 @@ static void cave_temp_lite_room_aux(int y, int x)
  * @param x 指定X座標
  * @return 射線を通すならばtrueを返す。
  */
-static bool cave_pass_dark_bold(int y, int x)
+static bool cave_pass_dark_bold(POSITION y, POSITION x)
 {
        return cave_have_flag_bold(y, x, FF_PROJECT);
 }
@@ -2701,7 +2697,7 @@ static bool cave_pass_dark_bold(int y, int x)
  * @param x 指定X座標
  * @return なし
  */
-static void cave_temp_unlite_room_aux(int y, int x)
+static void cave_temp_unlite_room_aux(POSITION y, POSITION x)
 {
        cave_temp_room_aux(y, x, TRUE, cave_pass_dark_bold);
 }
@@ -2713,9 +2709,10 @@ static void cave_temp_unlite_room_aux(int y, int x)
  * @param x1 指定X座標
  * @return なし
  */
-void lite_room(int y1, int x1)
+void lite_room(POSITION y1, POSITION x1)
 {
-       int i, x, y;
+       int i;
+       POSITION x, y;
 
        /* Add the initial grid */
        cave_temp_lite_room_aux(y1, x1);
@@ -2757,9 +2754,10 @@ void lite_room(int y1, int x1)
  * @param x1 指定X座標
  * @return なし
  */
-void unlite_room(int y1, int x1)
+void unlite_room(POSITION y1, POSITION x1)
 {
-       int i, x, y;
+       int i;
+       POSITION x, y;
 
        /* Add the initial grid */
        cave_temp_unlite_room_aux(y1, x1);
@@ -2797,7 +2795,7 @@ void unlite_room(int y1, int x1)
  * @param rad 効果半径
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool lite_area(HIT_POINT dam, int rad)
+bool lite_area(HIT_POINT dam, POSITION rad)
 {
        BIT_FLAGS flg = PROJECT_GRID | PROJECT_KILL;
 
@@ -2830,7 +2828,7 @@ bool lite_area(HIT_POINT dam, int rad)
  * @param rad 効果半径
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool unlite_area(HIT_POINT dam, int rad)
+bool unlite_area(HIT_POINT dam, POSITION rad)
 {
        BIT_FLAGS flg = PROJECT_GRID | PROJECT_KILL;
 
@@ -2866,9 +2864,9 @@ bool unlite_area(HIT_POINT dam, int rad)
  * Affect grids, objects, and monsters
  * </pre>
  */
-bool fire_ball(int typ, int dir, HIT_POINT dam, int rad)
+bool fire_ball(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, POSITION rad)
 {
-       int tx, ty;
+       POSITION tx, ty;
 
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
 
@@ -2903,7 +2901,7 @@ bool fire_ball(int typ, int dir, HIT_POINT dam, int rad)
 * Affect grids, objects, and monsters
 * </pre>
 */
-bool fire_breath(int typ, int dir, HIT_POINT dam, int rad)
+bool fire_breath(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, POSITION rad)
 {
        return fire_ball(typ, dir, dam, -rad);
 }
@@ -2923,7 +2921,7 @@ bool fire_breath(int typ, int dir, HIT_POINT dam, int rad)
  * Affect grids, objects, and monsters
  * </pre>
  */
-bool fire_rocket(int typ, int dir, HIT_POINT dam, int rad)
+bool fire_rocket(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, POSITION rad)
 {
        int tx, ty;
 
@@ -2959,7 +2957,7 @@ bool fire_rocket(int typ, int dir, HIT_POINT dam, int rad)
  * Affect grids, objects, and monsters
  * </pre>
  */
-bool fire_ball_hide(int typ, int dir, HIT_POINT dam, int rad)
+bool fire_ball_hide(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, POSITION rad)
 {
        int tx, ty;
 
@@ -3019,7 +3017,7 @@ bool fire_meteor(MONSTER_IDX who, EFFECT_ID typ, POSITION y, POSITION x, HIT_POI
  * @param dev 回数分散
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool fire_blast(int typ, int dir, int dd, int ds, int num, int dev)
+bool fire_blast(EFFECT_ID typ, DIRECTION dir, int dd, int ds, int num, int dev)
 {
        int ly, lx, ld;
        int ty, tx, y, x;
@@ -3077,12 +3075,12 @@ bool fire_blast(int typ, int dir, int dd, int ds, int num, int dev)
  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool teleport_swap(int dir)
+bool teleport_swap(DIRECTION dir)
 {
-       int tx, ty;
-       cave_type * c_ptr;
-       monster_type * m_ptr;
-       monster_race * r_ptr;
+       POSITION tx, ty;
+       cave_type* c_ptr;
+       monster_type* m_ptr;
+       monster_race* r_ptr;
 
        if ((dir == 5) && target_okay())
        {
@@ -3151,7 +3149,7 @@ bool teleport_swap(int dir)
  * @param flg フラグ
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool project_hook(int typ, int dir, HIT_POINT dam, BIT_FLAGS flg)
+bool project_hook(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, BIT_FLAGS flg)
 {
        int tx, ty;
 
@@ -3186,7 +3184,7 @@ bool project_hook(int typ, int dir, HIT_POINT dam, BIT_FLAGS flg)
  * Affect monsters and grids (not objects).
  * </pre>
  */
-bool fire_bolt(int typ, int dir, HIT_POINT dam)
+bool fire_bolt(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_GRID;
        if (typ != GF_ARROW) flg |= PROJECT_REFLECTABLE;
@@ -3206,7 +3204,7 @@ bool fire_bolt(int typ, int dir, HIT_POINT dam)
  * Affect monsters, grids and objects.
  * </pre>
  */
-bool fire_beam(int typ, int dir, HIT_POINT dam)
+bool fire_beam(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_KILL | PROJECT_GRID | PROJECT_ITEM;
        return (project_hook(typ, dir, dam, flg));
@@ -3226,7 +3224,7 @@ bool fire_beam(int typ, int dir, HIT_POINT dam)
  * Affect monsters, grids and objects.
  * </pre>
  */
-bool fire_bolt_or_beam(int prob, int typ, int dir, HIT_POINT dam)
+bool fire_bolt_or_beam(PERCENTAGE prob, EFFECT_ID typ, DIRECTION dir, HIT_POINT dam)
 {
        if (randint0(100) < prob)
        {
@@ -3244,7 +3242,7 @@ bool fire_bolt_or_beam(int prob, int typ, int dir, HIT_POINT dam)
  * @param dam 威力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool lite_line(int dir, HIT_POINT dam)
+bool lite_line(DIRECTION dir, HIT_POINT dam)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_KILL;
        return (project_hook(GF_LITE_WEAK, dir, dam, flg));
@@ -3256,7 +3254,7 @@ bool lite_line(int dir, HIT_POINT dam)
  * @param dam 威力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool hypodynamic_bolt(int dir, HIT_POINT dam)
+bool hypodynamic_bolt(DIRECTION dir, HIT_POINT dam)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_HYPODYNAMIA, dir, dam, flg));
@@ -3268,7 +3266,7 @@ bool hypodynamic_bolt(int dir, HIT_POINT dam)
  * @param dam 威力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool wall_to_mud(int dir, HIT_POINT dam)
+bool wall_to_mud(DIRECTION dir, HIT_POINT dam)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
        return (project_hook(GF_KILL_WALL, dir, dam, flg));
@@ -3279,7 +3277,7 @@ bool wall_to_mud(int dir, HIT_POINT dam)
  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool wizard_lock(int dir)
+bool wizard_lock(DIRECTION dir)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
        return (project_hook(GF_JAM_DOOR, dir, 20 + randint1(30), flg));
@@ -3290,7 +3288,7 @@ bool wizard_lock(int dir)
  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool destroy_door(int dir)
+bool destroy_door(DIRECTION dir)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM;
        return (project_hook(GF_KILL_DOOR, dir, 0, flg));
@@ -3301,7 +3299,7 @@ bool destroy_door(int dir)
  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool disarm_trap(int dir)
+bool disarm_trap(DIRECTION dir)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM;
        return (project_hook(GF_KILL_TRAP, dir, 0, flg));
@@ -3313,7 +3311,7 @@ bool disarm_trap(int dir)
  * @param dam 威力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool heal_monster(int dir, HIT_POINT dam)
+bool heal_monster(DIRECTION dir, HIT_POINT dam)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_HEAL, dir, dam, flg));
@@ -3325,7 +3323,7 @@ bool heal_monster(int dir, HIT_POINT dam)
  * @param power 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool speed_monster(int dir, int power)
+bool speed_monster(DIRECTION dir, int power)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_SPEED, dir, power, flg));
@@ -3337,7 +3335,7 @@ bool speed_monster(int dir, int power)
  * @param power 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool slow_monster(int dir, int power)
+bool slow_monster(DIRECTION dir, int power)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_SLOW, dir, power, flg));
@@ -3349,7 +3347,7 @@ bool slow_monster(int dir, int power)
  * @param power 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool sleep_monster(int dir, int power)
+bool sleep_monster(DIRECTION dir, int power)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_SLEEP, dir, power, flg));
@@ -3361,7 +3359,7 @@ bool sleep_monster(int dir, int power)
  * @return 作用が実際にあった場合TRUEを返す
  * @details 威力はプレイヤーレベル*2に固定
  */
-bool stasis_monster(int dir)
+bool stasis_monster(DIRECTION dir)
 {
        return (fire_ball_hide(GF_STASIS, dir, p_ptr->lev*2, 0));
 }
@@ -3372,7 +3370,7 @@ bool stasis_monster(int dir)
  * @return 作用が実際にあった場合TRUEを返す
  * @details 威力はプレイヤーレベル*2に固定
  */
-bool stasis_evil(int dir)
+bool stasis_evil(DIRECTION dir)
 {
        return (fire_ball_hide(GF_STASIS_EVIL, dir, p_ptr->lev*2, 0));
 }
@@ -3383,7 +3381,7 @@ bool stasis_evil(int dir)
  * @param plev プレイヤーレベル(=効力)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool confuse_monster(int dir, int plev)
+bool confuse_monster(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_CONF, dir, plev, flg));
@@ -3395,7 +3393,7 @@ bool confuse_monster(int dir, int plev)
  * @param plev プレイヤーレベル(=効力)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool stun_monster(int dir, int plev)
+bool stun_monster(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_STUN, dir, plev, flg));
@@ -3407,7 +3405,7 @@ bool stun_monster(int dir, int plev)
  * @param power 効力
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool poly_monster(int dir, int power)
+bool poly_monster(DIRECTION dir, int power)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        bool tester = (project_hook(GF_OLD_POLY, dir, power, flg));
@@ -3421,7 +3419,7 @@ bool poly_monster(int dir, int power)
  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool clone_monster(int dir)
+bool clone_monster(DIRECTION dir)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_OLD_CLONE, dir, 0, flg));
@@ -3433,7 +3431,7 @@ bool clone_monster(int dir)
  * @param plev プレイヤーレベル(=効力)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool fear_monster(int dir, int plev)
+bool fear_monster(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_TURN_ALL, dir, plev, flg));
@@ -3445,7 +3443,7 @@ bool fear_monster(int dir, int plev)
  * @param plev プレイヤーレベル(効力はplev*200)
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool death_ray(int dir, int plev)
+bool death_ray(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
        return (project_hook(GF_DEATH_RAY, dir, plev * 200, flg));
@@ -3457,7 +3455,7 @@ bool death_ray(int dir, int plev)
  * @param distance 移動距離
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool teleport_monster(int dir, int distance)
+bool teleport_monster(DIRECTION dir, int distance)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_KILL;
        return (project_hook(GF_AWAY_ALL, dir, distance, flg));
@@ -3479,7 +3477,7 @@ bool door_creation(void)
  * @param x 起点X座標
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool trap_creation(int y, int x)
+bool trap_creation(POSITION y, POSITION x)
 {
        BIT_FLAGS flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_HIDE;
        return (project(0, 1, y, x, 0, GF_MAKE_TRAP, flg, -1));
@@ -3575,7 +3573,7 @@ bool animate_dead(MONSTER_IDX who, POSITION y, POSITION x)
 void call_chaos(void)
 {
        int Chaos_type, dummy, dir;
-       int plev = p_ptr->lev;
+       PLAYER_LEVEL plev = p_ptr->lev;
        bool line_chaos = FALSE;
 
        int hurt_types[31] =
@@ -4020,7 +4018,7 @@ bool deathray_monsters(void)
  * @param plev パワー
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool charm_monster(int dir, int plev)
+bool charm_monster(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CHARM, dir, plev, flg));
@@ -4032,7 +4030,7 @@ bool charm_monster(int dir, int plev)
  * @param plev パワー
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool control_one_undead(int dir, int plev)
+bool control_one_undead(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CONTROL_UNDEAD, dir, plev, flg));
@@ -4044,7 +4042,7 @@ bool control_one_undead(int dir, int plev)
  * @param plev パワー
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool control_one_demon(int dir, int plev)
+bool control_one_demon(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CONTROL_DEMON, dir, plev, flg));
@@ -4056,7 +4054,7 @@ bool control_one_demon(int dir, int plev)
  * @param plev パワー
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool charm_animal(int dir, int plev)
+bool charm_animal(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
        return (project_hook(GF_CONTROL_ANIMAL, dir, plev, flg));
@@ -4123,7 +4121,7 @@ bool kawarimi(bool success)
  */
 bool rush_attack(bool *mdeath)
 {
-       int dir;
+       DIRECTION dir;
        int tx, ty;
        int tm_idx = 0;
        u16b path_g[32];
@@ -4240,7 +4238,7 @@ bool rush_attack(bool *mdeath)
  */
 void remove_all_mirrors(bool explode)
 {
-       int x, y;
+       POSITION x, y;
 
        for (x = 0; x < cur_wid; x++)
        {
@@ -4263,7 +4261,7 @@ void remove_all_mirrors(bool explode)
  * @param dir 発動の方向ID
  * @return なし
  */
-void ring_of_power(int dir)
+void ring_of_power(DIRECTION dir)
 {
        /* Pick a random effect */
        switch (randint1(10))
@@ -4271,7 +4269,6 @@ void ring_of_power(int dir)
        case 1:
        case 2:
        {
-               /* Message */
                msg_print(_("あなたは悪性のオーラに包み込まれた。", "You are surrounded by a malignant aura."));
                sound(SOUND_EVIL);
 
@@ -4293,7 +4290,6 @@ void ring_of_power(int dir)
 
        case 3:
        {
-               /* Message */
                msg_print(_("あなたは強力なオーラに包み込まれた。", "You are surrounded by a powerful aura."));
 
                /* Dispel monsters */
@@ -4437,7 +4433,7 @@ void wild_magic(int spell)
 * @param rad 効力の半径
 * @return なし
 */
-void cast_meteor(HIT_POINT dam, int rad)
+void cast_meteor(HIT_POINT dam, POSITION rad)
 {
        int i;
        int b = 10 + randint1(10);
@@ -4482,11 +4478,12 @@ void cast_meteor(HIT_POINT dam, int rad)
 * @param rad 効力の半径
 * @return ターゲットを指定し、実行したならばTRUEを返す。
 */
-bool cast_wrath_of_the_god(HIT_POINT dam, int rad)
+bool cast_wrath_of_the_god(HIT_POINT dam, POSITION rad)
 {
-       int x, y, tx, ty;
-       int nx, ny;
-       int dir, i;
+       POSITION x, y, tx, ty;
+       POSITION nx, ny;
+       DIRECTION dir;
+       int i;
        int b = 10 + randint1(10);
 
        if (!get_aim_dir(&dir)) return FALSE;
@@ -4575,9 +4572,9 @@ bool cast_wrath_of_the_god(HIT_POINT dam, int rad)
 * while keeping the results quite random.  It also allows some potent\n
 * effects only at high level.
 */
-void cast_wonder(int dir)
+void cast_wonder(DIRECTION dir)
 {
-       int plev = p_ptr->lev;
+       PLAYER_LEVEL plev = p_ptr->lev;
        int die = randint1(100) + plev / 5;
        int vir = virtue_number(V_CHANCE);
 
@@ -4657,9 +4654,9 @@ void cast_wonder(int dir)
 * @param dir 方向ID
 * @return なし
 */
-void cast_invoke_spirits(int dir)
+void cast_invoke_spirits(DIRECTION dir)
 {
-       int plev = p_ptr->lev;
+       PLAYER_LEVEL plev = p_ptr->lev;
        int die = randint1(100) + plev / 5;
        int vir = virtue_number(V_CHANCE);
 
@@ -4807,8 +4804,8 @@ void cast_invoke_spirits(int dir)
 */
 void cast_shuffle(void)
 {
-       int plev = p_ptr->lev;
-       int dir;
+       PLAYER_LEVEL plev = p_ptr->lev;
+       DIRECTION dir;
        int die;
        int vir = virtue_number(V_CHANCE);
        int i;
@@ -5021,7 +5018,7 @@ bool_hack berserk(int base)
        return ident;
 }
 
-bool_hack cure_light_wounds(int dice, int sides)
+bool_hack cure_light_wounds(DICE_NUMBER dice, DICE_SID sides)
 {
        bool_hack ident = FALSE;
        if (hp_player(damroll(dice, sides))) ident = TRUE;
@@ -5031,7 +5028,7 @@ bool_hack cure_light_wounds(int dice, int sides)
        return ident;
 }
 
-bool_hack cure_serious_wounds(int dice, int sides)
+bool_hack cure_serious_wounds(DICE_NUMBER dice, DICE_SID sides)
 {
        bool_hack ident = FALSE;
        if (hp_player(damroll(dice, sides))) ident = TRUE;
@@ -5130,7 +5127,8 @@ void stop_mouth(void)
 bool_hack vampirism(void)
 {
        DIRECTION dir;
-       int x, y, dummy;
+       POSITION x, y;
+       int dummy;
        cave_type *c_ptr;
 
        if (d_info[dungeon_type].flags1 & DF1_NO_MELEE)