OSDN Git Service

[Refactor] #38997 trump_summoning() に player_type * 引数を追加. / Add player_type * argume...
[hengband/hengband.git] / src / spells-summon.h
1 #pragma once
2 #include "monster.h"
3
4 /*
5  * summon_specificで取り扱われる、召喚の種別定義 / Legal restrictions for "summon_specific()"
6  */
7 #define SUMMON_ANT                  11 /*!< 召喚タイプ: アリ */
8 #define SUMMON_SPIDER               12 /*!< 召喚タイプ: 蜘蛛 */
9 #define SUMMON_HOUND                13 /*!< 召喚タイプ: ハウンド */
10 #define SUMMON_HYDRA                14 /*!< 召喚タイプ: ヒドラ */
11 #define SUMMON_ANGEL                15 /*!< 召喚タイプ: 天使 */
12 #define SUMMON_DEMON                16 /*!< 召喚タイプ: 悪魔 */
13 #define SUMMON_UNDEAD               17 /*!< 召喚タイプ: アンデッド */
14 #define SUMMON_DRAGON               18 /*!< 召喚タイプ: ドラゴン */
15 #define SUMMON_HI_UNDEAD            21 /*!< 召喚タイプ: 強力なアンデッド */
16 #define SUMMON_HI_DRAGON            22 /*!< 召喚タイプ: 古代ドラゴン */
17 #define SUMMON_HI_DEMON             23 /*!< 召喚タイプ: 上級デーモン */
18 #define SUMMON_AMBERITES            31 /*!< 召喚タイプ: アンバーの王族 */
19 #define SUMMON_UNIQUE               32 /*!< 召喚タイプ: ユニーク */
20 #define SUMMON_MOLD                 33 /*!< 召喚タイプ: カビ */
21 #define SUMMON_BAT                  34 /*!< 召喚タイプ: コウモリ */
22 #define SUMMON_QUYLTHULG            35 /*!< 召喚タイプ: クイルスルグ */
23 #define SUMMON_XXX1                 36 /*!< 召喚タイプ: 未使用 */
24 #define SUMMON_COIN_MIMIC           37 /*!< 召喚タイプ: クリーピング・コイン */
25 #define SUMMON_MIMIC                38 /*!< 召喚タイプ: ミミック */
26 #define SUMMON_CYBER                39 /*!< 召喚タイプ: サイバーデーモン */
27 #define SUMMON_KIN                  40 /*!< 召喚タイプ: 召喚者の同族 */
28 #define SUMMON_DAWN                 41 /*!< 召喚タイプ: 暁の戦士 */
29 #define SUMMON_ANIMAL               42 /*!< 召喚タイプ: 自然界の動物 */
30 #define SUMMON_ANIMAL_RANGER        43 /*!< 召喚タイプ: レンジャー向け自然界の動物 */
31  /*#define SUMMON_HI_UNDEAD_NO_UNIQUES 44*/
32  /*#define SUMMON_HI_DRAGON_NO_UNIQUES 45*/
33  /*#define SUMMON_NO_UNIQUES           46*/
34 #define SUMMON_PHANTOM              47 /*!< 召喚タイプ: ゴースト */
35 /*#define SUMMON_ELEMENTAL_NO_UNIQUES 48*/
36 #define SUMMON_BLUE_HORROR          49 /*!< 召喚タイプ: ブルー・ホラー */
37 #define SUMMON_LIVING               50 /*!< 召喚タイプ: 生命のあるモンスター */
38 #define SUMMON_HI_DRAGON_LIVING     51 /*!< 召喚タイプ: 生命のある古代ドラゴン */
39 #define SUMMON_GOLEM                52 /*!< 召喚タイプ: ゴーレム */
40 #define SUMMON_ELEMENTAL            53 /*!< 召喚タイプ: エレメンタル */
41 #define SUMMON_VORTEX               54 /*!< 召喚タイプ: ボルテックス */
42 #define SUMMON_HYBRID               55 /*!< 召喚タイプ: 混合生物 */
43 #define SUMMON_BIRD                 56 /*!< 召喚タイプ: 鳥 */
44 /*#define SUMMON_AQUATIC_NO_UNIQUES   57*/
45 #define SUMMON_KAMIKAZE             58 /*!< 召喚タイプ: 自爆モンスター */
46 #define SUMMON_KAMIKAZE_LIVING      59 /*!< 召喚タイプ: 生命のある自爆モンスター */
47 #define SUMMON_MANES                60 /*!< 召喚タイプ: 古代の死霊 */
48 #define SUMMON_LOUSE                61 /*!< 召喚タイプ: シラミ */
49 #define SUMMON_GUARDIANS            62 /*!< 召喚タイプ: ダンジョンの主 */
50 #define SUMMON_KNIGHTS              63 /*!< 召喚タイプ: 聖戦用騎士系モンスター */
51 #define SUMMON_EAGLES               64 /*!< 召喚タイプ: 鷲系モンスター */
52 #define SUMMON_PIRANHAS             65 /*!< 召喚タイプ: ピラニア・トラップ用 */
53 #define SUMMON_ARMAGE_GOOD          66 /*!< 召喚タイプ: ハルマゲドン・トラップ用天使陣営 */
54 #define SUMMON_ARMAGE_EVIL          67 /*!< 召喚タイプ: ハルマゲドン・トラップ用悪魔陣営 */
55
56 extern bool summon_specific(MONSTER_IDX who, POSITION y1, POSITION x1, DEPTH lev, int type, BIT_FLAGS mode);
57 extern bool summon_named_creature(MONSTER_IDX who, POSITION oy, POSITION ox, MONRACE_IDX r_idx, BIT_FLAGS mode);
58
59 extern bool trump_summoning(player_type *caster_ptr, int num, bool pet, POSITION y, POSITION x, DEPTH lev, int type, BIT_FLAGS mode);
60 extern bool cast_summon_demon(player_type *creature_ptr, int power);
61 extern bool cast_summon_undead(player_type *creature_ptr, int power);
62 extern bool cast_summon_hound(player_type *creature_ptr, int power);
63 extern bool cast_summon_elemental(player_type *creature_ptr, int power);
64 extern bool cast_summon_octopus(player_type *creature_ptr);
65 extern bool item_tester_offer(object_type *o_ptr);
66 extern bool cast_summon_greater_demon(player_type *caster_ptr);
67 extern bool summon_kin_player(DEPTH level, POSITION y, POSITION x, BIT_FLAGS mode);
68 extern int summon_cyber(MONSTER_IDX who, POSITION y, POSITION x);
69
70 extern void mitokohmon(player_type *kohmon_ptr);
71