2 * @brief プレイヤー属性を変更するデバッグコマンド
6 #include "wizard/wizard-player-modifier.h"
7 #include "core/asking-player.h"
8 #include "io/input-key-requester.h"
9 #include "mutation/mutation-investor-remover.h"
10 #include "player-info/self-info.h"
11 #include "spell/spells-status.h"
12 #include "system/player-type-definition.h"
13 #include "term/screen-processor.h"
14 #include "util/int-char-converter.h"
15 #include "view/display-messages.h"
16 #include "wizard/wizard-special-process.h"
24 * @brief プレイヤー設定コマンド一覧表
26 constexpr std::array wizard_player_modifier_menu_table = {
27 std::make_tuple('r', _("種族変更", "Change race")),
28 std::make_tuple('c', _("職業変更", "Change class")),
29 std::make_tuple('R', _("領域変更", "Change realms")),
30 std::make_tuple('e', _("能力変更", "Change status")),
31 std::make_tuple('k', _("自己分析", "Self knowledge")),
32 std::make_tuple('l', _("ライフレート変更", "Set new life rate")),
33 std::make_tuple('m', _("突然変異", "Get mutation")),
34 std::make_tuple('a', _("属性表示", "Print your alignment")),
38 * @brief プレイヤー設定コマンドの一覧を表示する
40 void display_wizard_player_modifier_menu()
42 for (auto y = 1U; y <= wizard_player_modifier_menu_table.size(); y++) {
43 term_erase(14, y, 64);
48 for (const auto &[symbol, desc] : wizard_player_modifier_menu_table) {
50 ss << symbol << ") " << desc;
51 put_str(ss.str().data(), r++, c);
56 * @brief プレイヤー設定コマンドの入力を受け付ける
57 * @param player_ptr プレイヤーの情報へのポインタ
59 void wizard_player_modifier(PlayerType *player_ptr)
62 display_wizard_player_modifier_menu();
65 get_com("Player Command: ", &cmd, false);
75 msg_format("Your alignment is %d.", player_ptr->alignment);
78 wiz_reset_class(player_ptr);
81 wiz_change_status(player_ptr);
84 self_knowledge(player_ptr);
87 (void)gain_mutation(player_ptr, command_arg);
90 roll_hitdice(player_ptr, i2enum<spell_operation>(SPOP_DISPLAY_MES | SPOP_DEBUG));
93 wiz_reset_race(player_ptr);
96 wiz_reset_realms(player_ptr);
99 msg_print("That is not a valid debug command.");