OSDN Git Service

Merge pull request #1510 from habu1010/feature/refactor-smith-info-class
[hengbandforosx/hengbandosx.git] / src / mind / mind-warrior-mage.cpp
1 #include "mind/mind-warrior-mage.h"
2 #include "core/player-redraw-types.h"
3 #include "hpmp/hp-mp-processor.h"
4 #include "player/player-damage.h"
5 #include "system/player-type-definition.h"
6 #include "view/display-messages.h"
7
8 bool comvert_hp_to_mp(player_type *player_ptr)
9 {
10     int gain_sp = take_hit(player_ptr, DAMAGE_USELIFE, player_ptr->lev, _("HPからMPへの無謀な変換", "thoughtless conversion from HP to SP")) / 5;
11     if (!gain_sp) {
12         msg_print(_("変換に失敗した。", "You failed to convert."));
13         player_ptr->redraw |= (PR_HP | PR_MANA);
14         return true;
15     }
16
17     player_ptr->csp += gain_sp;
18     if (player_ptr->csp > player_ptr->msp) {
19         player_ptr->csp = player_ptr->msp;
20         player_ptr->csp_frac = 0;
21     }
22
23     player_ptr->redraw |= (PR_HP | PR_MANA);
24     return true;
25 }
26
27 bool comvert_mp_to_hp(player_type *player_ptr)
28 {
29     if (player_ptr->csp >= player_ptr->lev / 5) {
30         player_ptr->csp -= player_ptr->lev / 5;
31         hp_player(player_ptr, player_ptr->lev);
32     } else {
33         msg_print(_("変換に失敗した。", "You failed to convert."));
34     }
35
36     player_ptr->redraw |= (PR_HP | PR_MANA);
37     return true;
38 }