OSDN Git Service

Merge pull request #3608 from habu1010/feature/fix-crash-on-charcter-dump-to-invalid...
[hengbandforosx/hengbandosx.git] / src / spell-kind / spells-charm.cpp
1 #include "spell-kind/spells-charm.h"
2 #include "effect/attribute-types.h"
3 #include "effect/effect-characteristics.h"
4 #include "spell-kind/spells-launcher.h"
5 #include "system/player-type-definition.h"
6
7 /*!
8  * @brief チャーム・モンスター(1体)
9  * @param player_ptr プレイヤーへの参照ポインタ
10  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
11  * @param plev パワー
12  * @return 作用が実際にあった場合TRUEを返す
13  */
14 bool charm_monster(PlayerType *player_ptr, DIRECTION dir, PLAYER_LEVEL plev)
15 {
16     BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
17     return project_hook(player_ptr, AttributeType::CHARM, dir, plev, flg);
18 }
19
20 /*!
21  * @brief アンデッド支配(1体)
22  * @param player_ptr プレイヤーへの参照ポインタ
23  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
24  * @param plev パワー
25  * @return 作用が実際にあった場合TRUEを返す
26  */
27 bool control_one_undead(PlayerType *player_ptr, DIRECTION dir, PLAYER_LEVEL plev)
28 {
29     BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
30     return project_hook(player_ptr, AttributeType::CONTROL_UNDEAD, dir, plev, flg);
31 }
32
33 /*!
34  * @brief 悪魔支配(1体)
35  * @param player_ptr プレイヤーへの参照ポインタ
36  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
37  * @param plev パワー
38  * @return 作用が実際にあった場合TRUEを返す
39  */
40 bool control_one_demon(PlayerType *player_ptr, DIRECTION dir, PLAYER_LEVEL plev)
41 {
42     BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
43     return project_hook(player_ptr, AttributeType::CONTROL_DEMON, dir, plev, flg);
44 }
45
46 /*!
47  * @brief 動物支配(1体)
48  * @param player_ptr プレイヤーへの参照ポインタ
49  * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
50  * @param plev パワー
51  * @return 作用が実際にあった場合TRUEを返す
52  */
53 bool charm_animal(PlayerType *player_ptr, DIRECTION dir, PLAYER_LEVEL plev)
54 {
55     BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
56     return project_hook(player_ptr, AttributeType::CONTROL_ANIMAL, dir, plev, flg);
57 }