OSDN Git Service

Merge branch 'develop' into feature/Divide-Player-Status
[hengbandforosx/hengbandosx.git] / src / wizard / wizard-spells.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include "spell/spell-types.h"
5
6 #define SPELL_MAX 3
7
8 typedef struct floor_type floor_type;
9 typedef struct player_type player_type;
10 typedef union spell_functions {
11     struct debug_spell_type1 {
12         bool (*spell_function)(player_type *, floor_type *);
13     } spell1;
14
15     struct debug_spell_type2 {
16         bool (*spell_function)(player_type *);
17     } spell2;
18
19     struct debug_spell_type3 {
20         bool (*spell_function)(player_type *, HIT_POINT);
21     } spell3;
22
23 } spell_functions;
24
25 typedef struct debug_spell_command {
26     int type;
27     concptr command_name;
28     spell_functions command_function;
29 } debug_spell_command;
30
31 extern debug_spell_command debug_spell_commands_list[SPELL_MAX];
32
33 bool wiz_debug_spell(player_type *creature_ptr);
34 void wiz_dimension_door(player_type *caster_ptr);
35 void wiz_summon_horde(player_type *caster_ptr);
36 void wiz_teleport_back(player_type *caster_ptr);
37 void wiz_learn_blue_magic_all(player_type *caster_ptr);
38 void wiz_summon_random_enemy(player_type *caster_ptr, int num);
39 void wiz_summon_specific_enemy(player_type *summoner_ptr, MONRACE_IDX r_idx);
40 void wiz_summon_pet(player_type *summoner_ptr, MONRACE_IDX r_idx);
41 void wiz_kill_enemy(player_type *caster_ptr, HIT_POINT dam = 1000000, EFFECT_ID effect_idx = GF_ARROW);
42 void wiz_kill_me(player_type *caster_ptr, HIT_POINT dam, EFFECT_ID effect_idx);