OSDN Git Service

[Refactor] #38997 hex_spelling_any() に player_type * 引数を追加.
[hengband/hengband.git] / src / realm-hex.h
1 /*!
2  * @file realm-hex.h
3  */
4
5  /* Hex */
6 #define hex_spelling_any(CREATURE_PTR) \
7         (((CREATURE_PTR)->realm1 == REALM_HEX) && ((CREATURE_PTR)->magic_num1[0]))
8 #define hex_spelling(X) \
9         ((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0] & (1L << (X))))
10 #define CASTING_HEX_FLAGS(P_PTR) ((P_PTR)->magic_num1[0])
11 #define CASTING_HEX_NUM(P_PTR) ((P_PTR)->magic_num2[0])
12 #define HEX_REVENGE_POWER(P_PTR) ((P_PTR)->magic_num1[2])
13 #define HEX_REVENGE_TURN(P_PTR) ((P_PTR)->magic_num2[2])
14 #define HEX_REVENGE_TYPE(P_PTR) ((P_PTR)->magic_num2[1])
15
16 /* 1st book */
17 #define HEX_BLESS             0
18 #define HEX_CURE_LIGHT        1
19 #define HEX_DEMON_AURA        2
20 #define HEX_STINKING_MIST     3
21 #define HEX_XTRA_MIGHT        4
22 #define HEX_CURSE_WEAPON      5
23 #define HEX_DETECT_EVIL       6
24 #define HEX_PATIENCE          7
25 /* 2nd book */
26 #define HEX_ICE_ARMOR         8
27 #define HEX_CURE_SERIOUS      9
28 #define HEX_INHAIL           10
29 #define HEX_VAMP_MIST        11
30 #define HEX_RUNESWORD        12
31 #define HEX_CONFUSION        13
32 #define HEX_BUILDING         14
33 #define HEX_ANTI_TELE        15
34 /* 3rd book */
35 #define HEX_SHOCK_CLOAK      16
36 #define HEX_CURE_CRITICAL    17
37 #define HEX_RECHARGE         18
38 #define HEX_RAISE_DEAD       19
39 #define HEX_CURSE_ARMOUR     20
40 #define HEX_SHADOW_CLOAK     21
41 #define HEX_PAIN_TO_MANA     22
42 #define HEX_EYE_FOR_EYE      23
43 /* 4th book */
44 #define HEX_ANTI_MULTI       24
45 #define HEX_RESTORE          25
46 #define HEX_DRAIN_CURSE      26
47 #define HEX_VAMP_BLADE       27
48 #define HEX_STUN_MONSTERS    28
49 #define HEX_SHADOW_MOVE      29
50 #define HEX_ANTI_MAGIC       30
51 #define HEX_REVENGE          31
52
53 extern bool stop_hex_spell_all(void);
54 extern bool stop_hex_spell(void);
55 extern void check_hex(void);
56 extern bool hex_spell_fully(void);
57 extern void revenge_spell(void);
58 extern void revenge_store(HIT_POINT dam);
59 extern bool teleport_barrier(MONSTER_IDX m_idx);
60 extern bool magic_barrier(MONSTER_IDX m_idx);
61 extern bool multiply_barrier(MONSTER_IDX m_idx);
62 extern concptr do_hex_spell(SPELL_IDX spell, BIT_FLAGS mode);
63