OSDN Git Service

[Refactor] wiz_kill_enemyとwiz_kill_meを統合。
[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 struct floor_type;
7 class PlayerType;
8 typedef union spell_functions {
9     struct debug_spell_type1 {
10         bool (*spell_function)(PlayerType *, floor_type *);
11     } spell1;
12
13     struct debug_spell_type2 {
14         bool (*spell_function)(PlayerType *);
15     } spell2;
16
17     struct debug_spell_type3 {
18         bool (*spell_function)(PlayerType *, HIT_POINT);
19     } spell3;
20
21     struct debug_spell_type4 { // 実質 ty curse
22         bool (*spell_function)(PlayerType *, bool, int*);
23     } spell4;
24
25     struct debug_spell_type5 {
26         void (*spell_function)(PlayerType *);
27     } spell5;
28
29 } spell_functions;
30
31 struct debug_spell_command {
32     int type;
33     concptr command_name;
34     spell_functions command_function;
35 };
36
37 bool wiz_debug_spell(PlayerType *player_ptr);
38 void wiz_dimension_door(PlayerType *player_ptr);
39 void wiz_summon_horde(PlayerType *player_ptr);
40 void wiz_teleport_back(PlayerType *player_ptr);
41 void wiz_learn_blue_magic_all(PlayerType *player_ptr);
42 void wiz_fillup_all_smith_essences(PlayerType *player_ptr);
43 void wiz_summon_random_enemy(PlayerType *player_ptr, int num);
44 void wiz_summon_specific_enemy(PlayerType *player_ptr, MONRACE_IDX r_idx);
45 void wiz_summon_pet(PlayerType *player_ptr, MONRACE_IDX r_idx);
46 void wiz_kill_target(PlayerType *player_ptr, HIT_POINT dam = 1000000, AttributeType effect_idx = AttributeType::DEBUG, const bool self = false);