OSDN Git Service

Merge pull request #1326 from sikabane-works/feature/fix-endless-dec-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 4
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     struct debug_spell_type4 { // 実質 ty curse
24         bool (*spell_function)(player_type *, bool, int*);
25     } spell4;
26
27 } spell_functions;
28
29 typedef struct debug_spell_command {
30     int type;
31     concptr command_name;
32     spell_functions command_function;
33 } debug_spell_command;
34
35 extern debug_spell_command debug_spell_commands_list[SPELL_MAX];
36
37 bool wiz_debug_spell(player_type *creature_ptr);
38 void wiz_dimension_door(player_type *caster_ptr);
39 void wiz_summon_horde(player_type *caster_ptr);
40 void wiz_teleport_back(player_type *caster_ptr);
41 void wiz_learn_blue_magic_all(player_type *caster_ptr);
42 void wiz_summon_random_enemy(player_type *caster_ptr, int num);
43 void wiz_summon_specific_enemy(player_type *summoner_ptr, MONRACE_IDX r_idx);
44 void wiz_summon_pet(player_type *summoner_ptr, MONRACE_IDX r_idx);
45 void wiz_kill_enemy(player_type *caster_ptr, HIT_POINT dam = 1000000, EFFECT_ID effect_idx = GF_ARROW);
46 void wiz_kill_me(player_type *caster_ptr, HIT_POINT dam, EFFECT_ID effect_idx);