OSDN Git Service

Merge remote-tracking branch 'remotes/origin/feature/Fix-saved-floor-exceed' into...
[hengband/hengband.git] / src / spell-kind / spells-beam.c
1 #include "spell-kind/spells-beam.h"
2 #include "effect/effect-characteristics.h"
3 #include "spell/spell-types.h"
4 #include "spell-kind/spells-launcher.h"
5
6 /*!
7  * @brief 岩石溶解処理
8  * @param caster_ptr プレーヤーへの参照ポインタ
9  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
10  * @param dam 威力
11  * @return 作用が実際にあった場合TRUEを返す
12  */
13 bool wall_to_mud(player_type *caster_ptr, DIRECTION dir, HIT_POINT dam)
14 {
15     BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
16     return (project_hook(caster_ptr, GF_KILL_WALL, dir, dam, flg));
17 }
18
19 /*!
20  * @brief 魔法の施錠処理
21  * @param caster_ptr プレーヤーへの参照ポインタ
22  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
23  * @return 作用が実際にあった場合TRUEを返す
24  */
25 bool wizard_lock(player_type *caster_ptr, DIRECTION dir)
26 {
27     BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
28     return (project_hook(caster_ptr, GF_JAM_DOOR, dir, 20 + randint1(30), flg));
29 }
30
31 /*!
32  * @brief ドア破壊処理
33  * @param caster_ptr プレーヤーへの参照ポインタ
34  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
35  * @return 作用が実際にあった場合TRUEを返す
36  */
37 bool destroy_door(player_type *caster_ptr, DIRECTION dir)
38 {
39     BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM;
40     return (project_hook(caster_ptr, GF_KILL_DOOR, dir, 0, flg));
41 }
42
43 /*!
44  * @brief トラップ解除処理
45  * @param caster_ptr プレーヤーへの参照ポインタ
46  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
47  * @return 作用が実際にあった場合TRUEを返す
48  */
49 bool disarm_trap(player_type *caster_ptr, DIRECTION dir)
50 {
51     BIT_FLAGS flg = PROJECT_BEAM | PROJECT_GRID | PROJECT_ITEM;
52     return (project_hook(caster_ptr, GF_KILL_TRAP, dir, 0, flg));
53 }