OSDN Git Service

[Refactor] #38997 project_hook() に player_type * 引数を追加. / Add player_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Sat, 14 Dec 2019 07:35:20 +0000 (16:35 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Sat, 14 Dec 2019 07:35:20 +0000 (16:35 +0900)
src/realm-hissatsu.c
src/spells-status.c
src/spells.h
src/spells2.c

index f52c777..1cc45da 100644 (file)
@@ -47,7 +47,7 @@ concptr do_hissatsu_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mo
                        project_length = 2;
                        if (!get_aim_dir(&dir)) return NULL;
 
-                       project_hook(GF_ATTACK, dir, HISSATSU_2, PROJECT_STOP | PROJECT_KILL);
+                       project_hook(caster_ptr, GF_ATTACK, dir, HISSATSU_2, PROJECT_STOP | PROJECT_KILL);
                }
                break;
 
index 3476552..6c6137c 100644 (file)
@@ -27,7 +27,7 @@
 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));
+       return (project_hook(p_ptr, GF_OLD_HEAL, dir, dam, flg));
 }
 
 /*!
@@ -39,7 +39,7 @@ bool heal_monster(DIRECTION dir, HIT_POINT dam)
 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));
+       return (project_hook(p_ptr, GF_OLD_SPEED, dir, power, flg));
 }
 
 /*!
@@ -51,7 +51,7 @@ bool speed_monster(DIRECTION 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));
+       return (project_hook(p_ptr, GF_OLD_SLOW, dir, power, flg));
 }
 
 /*!
@@ -63,7 +63,7 @@ bool slow_monster(DIRECTION 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));
+       return (project_hook(p_ptr, GF_OLD_SLEEP, dir, power, flg));
 }
 
 /*!
@@ -97,7 +97,7 @@ bool stasis_evil(DIRECTION dir)
 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));
+       return (project_hook(p_ptr, GF_OLD_CONF, dir, plev, flg));
 }
 
 /*!
@@ -109,7 +109,7 @@ bool confuse_monster(DIRECTION dir, PLAYER_LEVEL 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));
+       return (project_hook(p_ptr, GF_STUN, dir, plev, flg));
 }
 
 /*!
@@ -121,7 +121,7 @@ bool stun_monster(DIRECTION dir, PLAYER_LEVEL plev)
 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));
+       bool tester = (project_hook(p_ptr, GF_OLD_POLY, dir, power, flg));
        if (tester)
                chg_virtue(p_ptr, V_CHANCE, 1);
        return(tester);
@@ -135,7 +135,7 @@ bool poly_monster(DIRECTION dir, int power)
 bool clone_monster(DIRECTION dir)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
-       return (project_hook(GF_OLD_CLONE, dir, 0, flg));
+       return (project_hook(p_ptr, GF_OLD_CLONE, dir, 0, flg));
 }
 
 /*!
@@ -147,7 +147,7 @@ bool clone_monster(DIRECTION dir)
 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));
+       return (project_hook(p_ptr, GF_TURN_ALL, dir, plev, flg));
 }
 
 /*!
index 5913d92..983d012 100644 (file)
@@ -241,7 +241,7 @@ extern bool control_one_demon(DIRECTION dir, PLAYER_LEVEL plev);
 extern bool charm_animal(DIRECTION dir, PLAYER_LEVEL plev);
 extern bool mindblast_monsters(HIT_POINT dam);
 extern bool teleport_swap(DIRECTION dir);
-extern bool project_hook(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, BIT_FLAGS flg);
+extern bool project_hook(player_type *caster_ptr, EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, BIT_FLAGS flg);
 extern bool project_all_los(EFFECT_ID typ, HIT_POINT dam);
 extern bool eat_magic(player_type *caster_ptr, int power);
 extern void discharge_minion(void);
index 4368926..fba6ea3 100644 (file)
@@ -2202,7 +2202,7 @@ bool teleport_swap(DIRECTION dir)
  * @param flg フラグ
  * @return 作用が実際にあった場合TRUEを返す
  */
-bool project_hook(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, BIT_FLAGS flg)
+bool project_hook(player_type *caster_ptr, EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, BIT_FLAGS flg)
 {
        POSITION tx, ty;
 
@@ -2210,8 +2210,8 @@ bool project_hook(EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, BIT_FLAGS flg)
        flg |= (PROJECT_THRU);
 
        /* Use the given direction */
-       tx = p_ptr->x + ddx[dir];
-       ty = p_ptr->y + ddy[dir];
+       tx = caster_ptr->x + ddx[dir];
+       ty = caster_ptr->y + ddy[dir];
 
        /* Hack -- Use an actual "target" */
        if ((dir == 5) && target_okay())
@@ -2241,7 +2241,7 @@ bool fire_bolt(player_type *caster_ptr, EFFECT_ID typ, DIRECTION dir, HIT_POINT
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_GRID;
        if (typ != GF_ARROW) flg |= PROJECT_REFLECTABLE;
-       return (project_hook(typ, dir, dam, flg));
+       return (project_hook(caster_ptr, typ, dir, dam, flg));
 }
 
 
@@ -2260,7 +2260,7 @@ bool fire_bolt(player_type *caster_ptr, EFFECT_ID typ, DIRECTION dir, HIT_POINT
 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));
+       return (project_hook(p_ptr, typ, dir, dam, flg));
 }
 
 
@@ -2298,7 +2298,7 @@ bool fire_bolt_or_beam(PERCENTAGE prob, EFFECT_ID typ, DIRECTION dir, HIT_POINT
 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));
+       return (project_hook(p_ptr, GF_LITE_WEAK, dir, dam, flg));
 }
 
 /*!
@@ -2310,7 +2310,7 @@ bool lite_line(DIRECTION 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));
+       return (project_hook(p_ptr, GF_HYPODYNAMIA, dir, dam, flg));
 }
 
 /*!
@@ -2322,7 +2322,7 @@ bool hypodynamic_bolt(DIRECTION 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));
+       return (project_hook(p_ptr, GF_KILL_WALL, dir, dam, flg));
 }
 
 /*!
@@ -2333,7 +2333,7 @@ bool wall_to_mud(DIRECTION dir, HIT_POINT dam)
 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));
+       return (project_hook(p_ptr, GF_JAM_DOOR, dir, 20 + randint1(30), flg));
 }
 
 /*!
@@ -2344,7 +2344,7 @@ bool wizard_lock(DIRECTION dir)
 bool destroy_door(DIRECTION dir)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM;
-       return (project_hook(GF_KILL_DOOR, dir, 0, flg));
+       return (project_hook(p_ptr, GF_KILL_DOOR, dir, 0, flg));
 }
 
 /*!
@@ -2355,7 +2355,7 @@ bool destroy_door(DIRECTION dir)
 bool disarm_trap(DIRECTION dir)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM;
-       return (project_hook(GF_KILL_TRAP, dir, 0, flg));
+       return (project_hook(p_ptr, GF_KILL_TRAP, dir, 0, flg));
 }
 
 
@@ -2368,7 +2368,7 @@ bool disarm_trap(DIRECTION dir)
 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));
+       return (project_hook(p_ptr, GF_DEATH_RAY, dir, plev * 200, flg));
 }
 
 /*!
@@ -2380,7 +2380,7 @@ bool death_ray(DIRECTION dir, PLAYER_LEVEL plev)
 bool teleport_monster(DIRECTION dir, int distance)
 {
        BIT_FLAGS flg = PROJECT_BEAM | PROJECT_KILL;
-       return (project_hook(GF_AWAY_ALL, dir, distance, flg));
+       return (project_hook(p_ptr, GF_AWAY_ALL, dir, distance, flg));
 }
 
 /*!
@@ -2904,7 +2904,7 @@ bool deathray_monsters(void)
 bool charm_monster(DIRECTION dir, PLAYER_LEVEL plev)
 {
        BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
-       return (project_hook(GF_CHARM, dir, plev, flg));
+       return (project_hook(p_ptr, GF_CHARM, dir, plev, flg));
 }
 
 /*!
@@ -2916,7 +2916,7 @@ bool charm_monster(DIRECTION dir, PLAYER_LEVEL 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));
+       return (project_hook(p_ptr, GF_CONTROL_UNDEAD, dir, plev, flg));
 }
 
 /*!
@@ -2928,7 +2928,7 @@ bool control_one_undead(DIRECTION dir, PLAYER_LEVEL 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));
+       return (project_hook(p_ptr, GF_CONTROL_DEMON, dir, plev, flg));
 }
 
 /*!
@@ -2940,7 +2940,7 @@ bool control_one_demon(DIRECTION dir, PLAYER_LEVEL 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));
+       return (project_hook(p_ptr, GF_CONTROL_ANIMAL, dir, plev, flg));
 }