OSDN Git Service

33da7f924803c7949358accfee71318921cf1e73
[hengband/hengband.git] / src / mind / mind-force-trainer.c
1 #include "mind/mind-force-trainer.h"
2 #include "cmd-action/cmd-pet.h"
3
4 /*!
5  * @brief 練気術師が「練気」で溜めた気の量を返す
6  * @param caster_ptr プレーヤーの参照ポインタ
7  * @return 現在溜まっている気の量
8  */
9 MAGIC_NUM1 get_current_ki(player_type *caster_ptr)
10 {
11     return caster_ptr->magic_num1[0];
12 }
13
14 /*!
15  * @brief 練気術師において、気を溜める
16  * @param caster_ptr プレーヤーの参照ポインタ
17  * @param is_reset TRUEなら気の量をkiにセットし、FALSEなら加減算を行う
18  * @param ki 気の量
19  * @return なし
20  */
21 void set_current_ki(player_type *caster_ptr, bool is_reset, MAGIC_NUM1 ki)
22 {
23     if (is_reset) {
24         caster_ptr->magic_num1[0] = ki;
25         return;
26     }
27
28     caster_ptr->magic_num1[0] += ki;
29 }
30
31 bool clear_mind(player_type *creature_ptr)
32 {
33     if (total_friends) {
34         msg_print(_("今はペットを操ることに集中していないと。", "Your pets demand all of your attention."));
35         return FALSE;
36     }
37
38     msg_print(_("少し頭がハッキリした。", "You feel your head clear a little."));
39
40     creature_ptr->csp += (3 + creature_ptr->lev / 20);
41     if (creature_ptr->csp >= creature_ptr->msp) {
42         creature_ptr->csp = creature_ptr->msp;
43         creature_ptr->csp_frac = 0;
44     }
45
46     creature_ptr->redraw |= (PR_MANA);
47     return TRUE;
48 }