OSDN Git Service

Merge pull request #1977 from backwardsEric/uid-fixes
[hengbandforosx/hengbandosx.git] / src / wizard / wizard-spells.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include "effect/attribute-types.h"
5
6 #define SPELL_MAX 5
7
8 struct floor_type;
9 class PlayerType;
10 typedef union spell_functions {
11     struct debug_spell_type1 {
12         bool (*spell_function)(PlayerType *, floor_type *);
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 *, HIT_POINT);
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 typedef struct debug_spell_command {
34     int type;
35     concptr command_name;
36     spell_functions command_function;
37 } debug_spell_command;
38
39 extern debug_spell_command debug_spell_commands_list[SPELL_MAX];
40
41 bool wiz_debug_spell(PlayerType *player_ptr);
42 void wiz_dimension_door(PlayerType *player_ptr);
43 void wiz_summon_horde(PlayerType *player_ptr);
44 void wiz_teleport_back(PlayerType *player_ptr);
45 void wiz_learn_blue_magic_all(PlayerType *player_ptr);
46 void wiz_fillup_all_smith_essences(PlayerType *player_ptr);
47 void wiz_summon_random_enemy(PlayerType *player_ptr, int num);
48 void wiz_summon_specific_enemy(PlayerType *player_ptr, MONRACE_IDX r_idx);
49 void wiz_summon_pet(PlayerType *player_ptr, MONRACE_IDX r_idx);
50 void wiz_kill_enemy(PlayerType *player_ptr, HIT_POINT dam = 1000000, AttributeType effect_idx = AttributeType::DEBUG);
51 void wiz_kill_me(PlayerType *player_ptr, HIT_POINT dam, AttributeType effect_idx);