Hengband  2.1.4
 全て データ構造 ファイル 関数 変数 型定義 マクロ定義 ページ
関数
do-spell.c

魔法のインターフェイスと発動 / Purpose: Do everything for each spell [詳細]

#include "angband.h"
do-spell.cのインクルード依存関係図

関数

static cptr info_string_dice (cptr str, int dice, int sides, int base)
 魔法の効果を「キャプション:ダイス+定数値」のフォーマットで出力する / Generate dice info string such as "foo 2d10" [詳細]
 
static cptr info_damage (int dice, int sides, int base)
 魔法によるダメージを出力する / Generate damage-dice info string such as "dam 2d10" [詳細]
 
static cptr info_duration (int base, int sides)
 魔法の効果時間を出力する / Generate duration info string such as "dur 20+1d20" [詳細]
 
static cptr info_range (int range)
 魔法の効果範囲を出力する / Generate range info string such as "range 5" [詳細]
 
static cptr info_heal (int dice, int sides, int base)
 魔法による回復量を出力する / Generate heal info string such as "heal 2d8" [詳細]
 
static cptr info_delay (int base, int sides)
 魔法効果発動までの遅延ターンを出力する / Generate delay info string such as "delay 15+1d15" [詳細]
 
static cptr info_multi_damage (int dam)
 魔法によるダメージを出力する(固定値&複数回処理) / Generate multiple-damage info string such as "dam 25 each" [詳細]
 
static cptr info_multi_damage_dice (int dice, int sides)
 魔法によるダメージを出力する(ダイスのみ&複数回処理) / Generate multiple-damage-dice info string such as "dam 5d2 each" [詳細]
 
static cptr info_power (int power)
 魔法による一般的な効力値を出力する(固定値) / Generate power info string such as "power 100" [詳細]
 
static cptr info_power_dice (int dice, int sides)
 魔法による一般的な効力値を出力する(ダイス値) / Generate power info string such as "power 100" [詳細]
 
static cptr info_radius (int rad)
 魔法の効果半径を出力する / Generate radius info string such as "rad 100" [詳細]
 
static cptr info_weight (int weight)
 魔法効果の限界重量を出力する / Generate weight info string such as "max wgt 15" [詳細]
 
static int beam_chance (void)
 一部ボルト魔法のビーム化確率を算出する / Prepare standard probability to become beam for fire_bolt_or_beam() [詳細]
 
static bool trump_summoning (int num, bool pet, int y, int x, int lev, int type, u32b mode)
 トランプ魔法独自の召喚処理を行う / Handle summoning and failure of trump spells [詳細]
 
static void cast_wonder (int dir)
 「ワンダー」のランダムな効果を決定して処理する。 [詳細]
 
static void cast_invoke_spirits (int dir)
 「悪霊召喚」のランダムな効果を決定して処理する。 [詳細]
 
static void wild_magic (int spell)
 カオス的効果あるいは及びシャッフルの「運命の輪」効果を引数基準に処理する。 [詳細]
 
static void cast_shuffle (void)
 トランプ領域の「シャッフル」の効果をランダムに決めて処理する。 [詳細]
 
static void cast_meteor (int dam, int rad)
 カオス魔法「流星群」の処理としてプレイヤーを中心に隕石落下処理を10+1d10回繰り返す。 / Drop 10+1d10 meteor ball at random places near the player [詳細]
 
static bool cast_wrath_of_the_god (int dam, int rad)
 破邪魔法「神の怒り」の処理としてターゲットを指定した後分解のボールを最大20回発生させる。 [詳細]
 
static bool item_tester_offer (object_type *o_ptr)
 悪魔領域のグレーターデーモン召喚に利用可能な死体かどうかを返す。 / An "item_tester_hook" for offer [詳細]
 
static bool cast_summon_greater_demon (void)
 悪魔領域のグレーターデーモン召喚を処理する / Daemon spell Summon Greater Demon [詳細]
 
static void start_singing (int spell, int song)
 歌の開始を処理する / Start singing if the player is a Bard [詳細]
 
void stop_singing (void)
 歌の停止を処理する / Stop singing if the player is a Bard [詳細]
 
static cptr do_life_spell (int spell, int mode)
 生命領域魔法の各処理を行う [詳細]
 
static cptr do_sorcery_spell (int spell, int mode)
 仙術領域魔法の各処理を行う [詳細]
 
static cptr do_nature_spell (int spell, int mode)
 自然領域魔法の各処理を行う [詳細]
 
static cptr do_chaos_spell (int spell, int mode)
 カオス領域魔法の各処理を行う [詳細]
 
static cptr do_death_spell (int spell, int mode)
 暗黒領域魔法の各処理を行う [詳細]
 
static cptr do_trump_spell (int spell, int mode)
 トランプ領域魔法の各処理を行う [詳細]
 
static cptr do_arcane_spell (int spell, int mode)
 秘術領域魔法の各処理を行う [詳細]
 
static cptr do_craft_spell (int spell, int mode)
 匠領域魔法の各処理を行う [詳細]
 
static cptr do_daemon_spell (int spell, int mode)
 悪魔領域魔法の各処理を行う [詳細]
 
static cptr do_crusade_spell (int spell, int mode)
 破邪領域魔法の各処理を行う [詳細]
 
static cptr do_music_spell (int spell, int mode)
 歌の各処理を行う [詳細]
 
static cptr do_hissatsu_spell (int spell, int mode)
 剣術の各処理を行う [詳細]
 
static bool item_tester_hook_weapon_except_bow (object_type *o_ptr)
 呪術領域の武器呪縛の対象にできる武器かどうかを返す。 / An "item_tester_hook" for offer [詳細]
 
static bool item_tester_hook_cursed (object_type *o_ptr)
 呪術領域の各処理に使える呪われた装備かどうかを返す。 / An "item_tester_hook" for offer [詳細]
 
static cptr do_hex_spell (int spell, int mode)
 呪術領域魔法の各処理を行う [詳細]
 
cptr do_spell (int realm, int spell, int mode)
 魔法処理のメインルーチン [詳細]
 

説明

魔法のインターフェイスと発動 / Purpose: Do everything for each spell

日付
2013/12/31
作者
2013 Deskull rearranged comment for Doxygen.

関数

static int beam_chance ( void  )
static

一部ボルト魔法のビーム化確率を算出する / Prepare standard probability to become beam for fire_bolt_or_beam()

戻り値
ビーム化確率(%)

ハードコーティングによる実装が行われている。 メイジは(レベル)、ハイメイジ、スペルマスターは(レベル)、それ以外の職業は(レベル/2)%

呼出しグラフ:

static void cast_invoke_spirits ( int  dir)
static

「悪霊召喚」のランダムな効果を決定して処理する。

引数
dir方向ID
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void cast_meteor ( int  dam,
int  rad 
)
static

カオス魔法「流星群」の処理としてプレイヤーを中心に隕石落下処理を10+1d10回繰り返す。 / Drop 10+1d10 meteor ball at random places near the player

引数
damダメージ
rad効力の半径
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void cast_shuffle ( void  )
static

トランプ領域の「シャッフル」の効果をランダムに決めて処理する。

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static bool cast_summon_greater_demon ( void  )
static

悪魔領域のグレーターデーモン召喚を処理する / Daemon spell Summon Greater Demon

戻り値
処理を実行したならばTRUEを返す。

関数の呼び出しグラフ:

呼出しグラフ:

static void cast_wonder ( int  dir)
static

「ワンダー」のランダムな効果を決定して処理する。

引数
dir方向ID
戻り値
なし

This spell should become more useful (more controlled) as the
player gains experience levels. Thus, add 1/5 of the player's
level to the die roll. This eliminates the worst effects later on,
while keeping the results quite random. It also allows some potent
effects only at high level.

関数の呼び出しグラフ:

呼出しグラフ:

static bool cast_wrath_of_the_god ( int  dam,
int  rad 
)
static

破邪魔法「神の怒り」の処理としてターゲットを指定した後分解のボールを最大20回発生させる。

引数
damダメージ
rad効力の半径
戻り値
ターゲットを指定し、実行したならばTRUEを返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_arcane_spell ( int  spell,
int  mode 
)
static

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

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_chaos_spell ( int  spell,
int  mode 
)
static

カオス領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_craft_spell ( int  spell,
int  mode 
)
static

匠領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_crusade_spell ( int  spell,
int  mode 
)
static

破邪領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

呼出しグラフ:

static cptr do_daemon_spell ( int  spell,
int  mode 
)
static

悪魔領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_death_spell ( int  spell,
int  mode 
)
static

暗黒領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_hex_spell ( int  spell,
int  mode 
)
static

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

引数
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文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_hissatsu_spell ( int  spell,
int  mode 
)
static

剣術の各処理を行う

引数
spell剣術ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_life_spell ( int  spell,
int  mode 
)
static

生命領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_music_spell ( int  spell,
int  mode 
)
static

歌の各処理を行う

引数
spell歌ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST / SPELL_FAIL / SPELL_CONT / SPELL_STOP)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST / SPELL_FAIL / SPELL_CONT / SPELL_STOP 時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_nature_spell ( int  spell,
int  mode 
)
static

自然領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

呼出しグラフ:

static cptr do_sorcery_spell ( int  spell,
int  mode 
)
static

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

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

cptr do_spell ( int  realm,
int  spell,
int  mode 
)

魔法処理のメインルーチン

引数
realm魔法領域のID
spell各領域の魔法ID
mode求める処理
戻り値
各領域魔法に各種テキストを求めた場合は文字列参照ポインタ、そうでない場合はNULLポインタを返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr do_trump_spell ( int  spell,
int  mode 
)
static

トランプ領域魔法の各処理を行う

引数
spell魔法ID
mode処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
戻り値
SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_damage ( int  dice,
int  sides,
int  base 
)
static

魔法によるダメージを出力する / Generate damage-dice info string such as "dam 2d10"

引数
diceダイス数
sidesダイス目
base固定値
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_delay ( int  base,
int  sides 
)
static

魔法効果発動までの遅延ターンを出力する / Generate delay info string such as "delay 15+1d15"

引数
base固定値
sidesダイス目
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_duration ( int  base,
int  sides 
)
static

魔法の効果時間を出力する / Generate duration info string such as "dur 20+1d20"

引数
base固定値
sidesダイス目
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_heal ( int  dice,
int  sides,
int  base 
)
static

魔法による回復量を出力する / Generate heal info string such as "heal 2d8"

引数
diceダイス数
sidesダイス目
base固定値
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_multi_damage ( int  dam)
static

魔法によるダメージを出力する(固定値&複数回処理) / Generate multiple-damage info string such as "dam 25 each"

引数
dam固定値
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_multi_damage_dice ( int  dice,
int  sides 
)
static

魔法によるダメージを出力する(ダイスのみ&複数回処理) / Generate multiple-damage-dice info string such as "dam 5d2 each"

引数
diceダイス数
sidesダイス目
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_power ( int  power)
static

魔法による一般的な効力値を出力する(固定値) / Generate power info string such as "power 100"

引数
power固定値
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_power_dice ( int  dice,
int  sides 
)
static

魔法による一般的な効力値を出力する(ダイス値) / Generate power info string such as "power 100"

引数
diceダイス数
sidesダイス目
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_radius ( int  rad)
static

魔法の効果半径を出力する / Generate radius info string such as "rad 100"

引数
rad効果半径
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_range ( int  range)
static

魔法の効果範囲を出力する / Generate range info string such as "range 5"

引数
range効果範囲
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_string_dice ( cptr  str,
int  dice,
int  sides,
int  base 
)
static

魔法の効果を「キャプション:ダイス+定数値」のフォーマットで出力する / Generate dice info string such as "foo 2d10"

引数
strキャプション
diceダイス数
sidesダイス目
base固定値
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static cptr info_weight ( int  weight)
static

魔法効果の限界重量を出力する / Generate weight info string such as "max wgt 15"

引数
weight最大重量
戻り値
フォーマットに従い整形された文字列

関数の呼び出しグラフ:

呼出しグラフ:

static bool item_tester_hook_cursed ( object_type o_ptr)
static

呪術領域の各処理に使える呪われた装備かどうかを返す。 / An "item_tester_hook" for offer

引数
o_ptrオブジェクト構造体の参照ポインタ
戻り値
使える装備ならばTRUEを返す

呼出しグラフ:

static bool item_tester_hook_weapon_except_bow ( object_type o_ptr)
static

呪術領域の武器呪縛の対象にできる武器かどうかを返す。 / An "item_tester_hook" for offer

引数
o_ptrオブジェクト構造体の参照ポインタ
戻り値
呪縛可能な武器ならばTRUEを返す

呼出しグラフ:

static bool item_tester_offer ( object_type o_ptr)
static

悪魔領域のグレーターデーモン召喚に利用可能な死体かどうかを返す。 / An "item_tester_hook" for offer

引数
o_ptrオブジェクト構造体の参照ポインタ
戻り値
生贄に使用可能な死体ならばTRUEを返す。

関数の呼び出しグラフ:

呼出しグラフ:

static void start_singing ( int  spell,
int  song 
)
static

歌の開始を処理する / Start singing if the player is a Bard

引数
spell領域魔法としてのID
song魔法効果のID
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void stop_singing ( void  )

歌の停止を処理する / Stop singing if the player is a Bard

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static bool trump_summoning ( int  num,
bool  pet,
int  y,
int  x,
int  lev,
int  type,
u32b  mode 
)
static

トランプ魔法独自の召喚処理を行う / Handle summoning and failure of trump spells

引数
numsummon_specific()関数を呼び出す回数
petペット化として召喚されるか否か
y召喚位置のy座標
x召喚位置のx座標
lev召喚レベル
type召喚条件ID
modeモンスター生成条件フラグ
戻り値
モンスターが(敵対も含めて)召還されたならばTRUEを返す。

関数の呼び出しグラフ:

呼出しグラフ:

static void wild_magic ( int  spell)
static

カオス的効果あるいは及びシャッフルの「運命の輪」効果を引数基準に処理する。

引数
spell基準となる引数ID
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ: