OSDN Git Service

[Refactor] #3453 wiz_debug_spell() から呼ばれているget_string をinput_value() に変えた
[hengbandforosx/hengbandosx.git] / src / wizard / wizard-spells.h
1 #pragma once
2
3 #include "effect/attribute-types.h"
4 #include "system/angband.h"
5
6 enum class MonsterRaceId : int16_t;
7
8 class FloorType;
9 class PlayerType;
10 typedef union spell_functions {
11     struct debug_spell_type1 {
12         bool (*spell_function)(PlayerType *, FloorType *);
13     } spell1;
14
15     struct debug_spell_type2 {
16         bool (*spell_function)(PlayerType *);
17     } spell2;
18
19     struct debug_spell_type3 {
20         bool (*spell_function)(PlayerType *, int);
21     } spell3;
22
23     struct debug_spell_type4 { // 実質 ty curse
24         bool (*spell_function)(PlayerType *, bool, int *);
25     } spell4;
26
27     struct debug_spell_type5 {
28         void (*spell_function)(PlayerType *);
29     } spell5;
30
31 } spell_functions;
32
33 struct debug_spell_command {
34     int type;
35     concptr command_name;
36     spell_functions command_function;
37 };
38
39 void wiz_debug_spell(PlayerType *player_ptr);
40 void wiz_dimension_door(PlayerType *player_ptr);
41 void wiz_summon_horde(PlayerType *player_ptr);
42 void wiz_teleport_back(PlayerType *player_ptr);
43 void wiz_learn_blue_magic_all(PlayerType *player_ptr);
44 void wiz_fillup_all_smith_essences(PlayerType *player_ptr);
45 void wiz_generate_random_monster(PlayerType *player_ptr, int num);
46 void wiz_summon_random_monster(PlayerType *player_ptr, int num);
47 void wiz_summon_specific_monster(PlayerType *player_ptr, MonsterRaceId r_idx);
48 void wiz_summon_pet(PlayerType *player_ptr, MonsterRaceId r_idx);
49 void wiz_kill_target(PlayerType *player_ptr, int initial_dam = 1000000, AttributeType effect_idx = AttributeType::DEBUG, const bool self = false);