Hengband  2.2.1
マクロ定義 | 関数
realm-hex.h ファイル
被依存関係図:

[ソースコード]

マクロ定義

#define hex_spelling_any(CREATURE_PTR)   (((CREATURE_PTR)->realm1 == REALM_HEX) && ((CREATURE_PTR)->magic_num1[0]))
 
#define hex_spelling(X)   ((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0] & (1L << (X))))
 
#define CASTING_HEX_FLAGS(P_PTR)   ((P_PTR)->magic_num1[0])
 
#define CASTING_HEX_NUM(P_PTR)   ((P_PTR)->magic_num2[0])
 
#define HEX_REVENGE_POWER(P_PTR)   ((P_PTR)->magic_num1[2])
 
#define HEX_REVENGE_TURN(P_PTR)   ((P_PTR)->magic_num2[2])
 
#define HEX_REVENGE_TYPE(P_PTR)   ((P_PTR)->magic_num2[1])
 
#define HEX_BLESS   0
 
#define HEX_CURE_LIGHT   1
 
#define HEX_DEMON_AURA   2
 
#define HEX_STINKING_MIST   3
 
#define HEX_XTRA_MIGHT   4
 
#define HEX_CURSE_WEAPON   5
 
#define HEX_DETECT_EVIL   6
 
#define HEX_PATIENCE   7
 
#define HEX_ICE_ARMOR   8
 
#define HEX_CURE_SERIOUS   9
 
#define HEX_INHAIL   10
 
#define HEX_VAMP_MIST   11
 
#define HEX_RUNESWORD   12
 
#define HEX_CONFUSION   13
 
#define HEX_BUILDING   14
 
#define HEX_ANTI_TELE   15
 
#define HEX_SHOCK_CLOAK   16
 
#define HEX_CURE_CRITICAL   17
 
#define HEX_RECHARGE   18
 
#define HEX_RAISE_DEAD   19
 
#define HEX_CURSE_ARMOUR   20
 
#define HEX_SHADOW_CLOAK   21
 
#define HEX_PAIN_TO_MANA   22
 
#define HEX_EYE_FOR_EYE   23
 
#define HEX_ANTI_MULTI   24
 
#define HEX_RESTORE   25
 
#define HEX_DRAIN_CURSE   26
 
#define HEX_VAMP_BLADE   27
 
#define HEX_STUN_MONSTERS   28
 
#define HEX_SHADOW_MOVE   29
 
#define HEX_ANTI_MAGIC   30
 
#define HEX_REVENGE   31
 

関数

bool stop_hex_spell_all (void)
 プレイヤーが詠唱中の全呪術を停止する [詳解]
 
bool stop_hex_spell (void)
 プレイヤーが詠唱中の呪術から一つを選んで停止する [詳解]
 
void check_hex (void)
 一定時間毎に呪術で消費するMPを処理する / Upkeeping hex spells Called from dungeon.c [詳解]
 
bool hex_spell_fully (void)
 プレイヤーの呪術詠唱枠がすでに最大かどうかを返す [詳解]
 
void revenge_spell (void)
 一定ゲームターン毎に復讐処理の残り期間の判定を行う [詳解]
 
void revenge_store (HIT_POINT dam)
 復讐ダメージの追加を行う [詳解]
 
bool teleport_barrier (MONSTER_IDX m_idx)
 反テレポート結界の判定 [詳解]
 
bool magic_barrier (MONSTER_IDX m_idx)
 反魔法結界の判定 [詳解]
 
bool multiply_barrier (MONSTER_IDX m_idx)
 反増殖結界の判定 [詳解]
 
concptr do_hex_spell (player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
 呪術領域魔法の各処理を行う [詳解]
 

マクロ定義詳解

◆ CASTING_HEX_FLAGS

#define CASTING_HEX_FLAGS (   P_PTR)    ((P_PTR)->magic_num1[0])

◆ CASTING_HEX_NUM

#define CASTING_HEX_NUM (   P_PTR)    ((P_PTR)->magic_num2[0])

◆ HEX_ANTI_MAGIC

#define HEX_ANTI_MAGIC   30

◆ HEX_ANTI_MULTI

#define HEX_ANTI_MULTI   24

◆ HEX_ANTI_TELE

#define HEX_ANTI_TELE   15

◆ HEX_BLESS

#define HEX_BLESS   0

◆ HEX_BUILDING

#define HEX_BUILDING   14

◆ HEX_CONFUSION

#define HEX_CONFUSION   13

◆ HEX_CURE_CRITICAL

#define HEX_CURE_CRITICAL   17

◆ HEX_CURE_LIGHT

#define HEX_CURE_LIGHT   1

◆ HEX_CURE_SERIOUS

#define HEX_CURE_SERIOUS   9

◆ HEX_CURSE_ARMOUR

#define HEX_CURSE_ARMOUR   20

◆ HEX_CURSE_WEAPON

#define HEX_CURSE_WEAPON   5

◆ HEX_DEMON_AURA

#define HEX_DEMON_AURA   2

◆ HEX_DETECT_EVIL

#define HEX_DETECT_EVIL   6

◆ HEX_DRAIN_CURSE

#define HEX_DRAIN_CURSE   26

◆ HEX_EYE_FOR_EYE

#define HEX_EYE_FOR_EYE   23

◆ HEX_ICE_ARMOR

#define HEX_ICE_ARMOR   8

◆ HEX_INHAIL

#define HEX_INHAIL   10

◆ HEX_PAIN_TO_MANA

#define HEX_PAIN_TO_MANA   22

◆ HEX_PATIENCE

#define HEX_PATIENCE   7

◆ HEX_RAISE_DEAD

#define HEX_RAISE_DEAD   19

◆ HEX_RECHARGE

#define HEX_RECHARGE   18

◆ HEX_RESTORE

#define HEX_RESTORE   25

◆ HEX_REVENGE

#define HEX_REVENGE   31

◆ HEX_REVENGE_POWER

#define HEX_REVENGE_POWER (   P_PTR)    ((P_PTR)->magic_num1[2])

◆ HEX_REVENGE_TURN

#define HEX_REVENGE_TURN (   P_PTR)    ((P_PTR)->magic_num2[2])

◆ HEX_REVENGE_TYPE

#define HEX_REVENGE_TYPE (   P_PTR)    ((P_PTR)->magic_num2[1])

◆ HEX_RUNESWORD

#define HEX_RUNESWORD   12

◆ HEX_SHADOW_CLOAK

#define HEX_SHADOW_CLOAK   21

◆ HEX_SHADOW_MOVE

#define HEX_SHADOW_MOVE   29

◆ HEX_SHOCK_CLOAK

#define HEX_SHOCK_CLOAK   16

◆ hex_spelling

#define hex_spelling (   X)    ((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0] & (1L << (X))))

◆ hex_spelling_any

#define hex_spelling_any (   CREATURE_PTR)    (((CREATURE_PTR)->realm1 == REALM_HEX) && ((CREATURE_PTR)->magic_num1[0]))

◆ HEX_STINKING_MIST

#define HEX_STINKING_MIST   3

◆ HEX_STUN_MONSTERS

#define HEX_STUN_MONSTERS   28

◆ HEX_VAMP_BLADE

#define HEX_VAMP_BLADE   27

◆ HEX_VAMP_MIST

#define HEX_VAMP_MIST   11

◆ HEX_XTRA_MIGHT

#define HEX_XTRA_MIGHT   4

関数詳解

◆ check_hex()

void check_hex ( void  )

一定時間毎に呪術で消費するMPを処理する / Upkeeping hex spells Called from dungeon.c

戻り値
なし
呼び出し関係図:

◆ do_hex_spell()

concptr do_hex_spell ( player_type caster_ptr,
SPELL_IDX  spell,
BIT_FLAGS  mode 
)

呪術領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST / SPELL_CONT / SPELL_STOP)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST / SPELL_CONT / SPELL_STOP 時はNULL文字列を返す。
呼び出し関係図:

◆ hex_spell_fully()

bool hex_spell_fully ( void  )

プレイヤーの呪術詠唱枠がすでに最大かどうかを返す

戻り値
すでに全枠を利用しているならTRUEを返す

◆ magic_barrier()

bool magic_barrier ( MONSTER_IDX  m_idx)

反魔法結界の判定

引数
m_idx判定の対象となるモンスターID
戻り値
反魔法の効果が適用されるならTRUEを返す

◆ multiply_barrier()

bool multiply_barrier ( MONSTER_IDX  m_idx)

反増殖結界の判定

引数
m_idx判定の対象となるモンスターID
戻り値
反増殖の効果が適用されるならTRUEを返す

◆ revenge_spell()

void revenge_spell ( void  )

一定ゲームターン毎に復讐処理の残り期間の判定を行う

戻り値
なし

◆ revenge_store()

void revenge_store ( HIT_POINT  dam)

復讐ダメージの追加を行う

引数
dam蓄積されるダメージ量
戻り値
なし

◆ stop_hex_spell()

bool stop_hex_spell ( void  )

プレイヤーが詠唱中の呪術から一つを選んで停止する

戻り値
なし
呼び出し関係図:

◆ stop_hex_spell_all()

bool stop_hex_spell_all ( void  )

プレイヤーが詠唱中の全呪術を停止する

戻り値
なし
呼び出し関係図:

◆ teleport_barrier()

bool teleport_barrier ( MONSTER_IDX  m_idx)

反テレポート結界の判定

引数
m_idx判定の対象となるモンスターID
戻り値
反テレポートの効果が適用されるならTRUEを返す