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 "system/redrawing-flags-updater.h"
7 #include "view/display-messages.h"
9 bool comvert_hp_to_mp(PlayerType *player_ptr)
11 constexpr auto mes = _("HPからMPへの無謀な変換", "thoughtless conversion from HP to SP");
12 auto gain_sp = take_hit(player_ptr, DAMAGE_USELIFE, player_ptr->lev, mes) / 5;
13 auto &rfu = RedrawingFlagsUpdater::get_instance();
15 MainWindowRedrawingFlag::HP,
16 MainWindowRedrawingFlag::MP,
19 msg_print(_("変換に失敗した。", "You failed to convert."));
24 player_ptr->csp += gain_sp;
25 if (player_ptr->csp > player_ptr->msp) {
26 player_ptr->csp = player_ptr->msp;
27 player_ptr->csp_frac = 0;
34 bool comvert_mp_to_hp(PlayerType *player_ptr)
36 if (player_ptr->csp >= player_ptr->lev / 5) {
37 player_ptr->csp -= player_ptr->lev / 5;
38 hp_player(player_ptr, player_ptr->lev);
40 msg_print(_("変換に失敗した。", "You failed to convert."));
44 MainWindowRedrawingFlag::HP,
45 MainWindowRedrawingFlag::MP,
47 RedrawingFlagsUpdater::get_instance().set_flags(flags);