Hengband
2.2.1
|
魔法効果の実装/ Spell code (part 2) [詳解]
#include "angband.h"
#include "core.h"
#include "util.h"
#include "creature.h"
#include "artifact.h"
#include "cmd-pet.h"
#include "cmd-dump.h"
#include "floor.h"
#include "grid.h"
#include "trap.h"
#include "monsterrace-hook.h"
#include "melee.h"
#include "world.h"
#include "spells.h"
#include "spells-summon.h"
#include "mutation.h"
#include "quest.h"
#include "avatar.h"
#include "spells-status.h"
#include "spells-floor.h"
#include "realm-hex.h"
#include "autopick.h"
#include "object-flavor.h"
#include "object-hook.h"
#include "monster-status.h"
#include "player-move.h"
#include "player-status.h"
#include "player-effects.h"
#include "player-skill.h"
#include "player-class.h"
#include "player-damage.h"
#include "player-inventory.h"
#include "dungeon.h"
#include "floor-events.h"
#include "feature.h"
#include "view-mainwindow.h"
#include "objectkind.h"
#include "monsterrace.h"
#include "targeting.h"
#include "realm-song.h"
#include "english.h"
関数 | |
static bool | detect_feat_flag (POSITION range, int flag, bool known) |
プレイヤー周辺の地形を感知する [詳解] | |
bool | detect_traps (POSITION range, bool known) |
プレイヤー周辺のトラップを感知する / Detect all traps on current panel [詳解] | |
bool | detect_doors (POSITION range) |
プレイヤー周辺のドアを感知する / Detect all doors on current panel [詳解] | |
bool | detect_stairs (POSITION range) |
プレイヤー周辺の階段を感知する / Detect all stairs on current panel [詳解] | |
bool | detect_treasure (POSITION range) |
プレイヤー周辺の地形財宝を感知する / Detect any treasure on the current panel [詳解] | |
bool | detect_objects_gold (POSITION range) |
プレイヤー周辺のアイテム財宝を感知する / Detect all "gold" objects on the current panel [詳解] | |
bool | detect_objects_normal (POSITION range) |
通常のアイテムオブジェクトを感知する / Detect all "normal" objects on the current panel [詳解] | |
bool | detect_objects_magic (POSITION range) |
魔法効果のあるのアイテムオブジェクトを感知する / Detect all "magic" objects on the current panel. [詳解] | |
bool | detect_monsters_normal (POSITION range) |
一般のモンスターを感知する / Detect all "normal" monsters on the current panel [詳解] | |
bool | detect_monsters_invis (POSITION range) |
不可視のモンスターを感知する / Detect all "invisible" monsters around the player [詳解] | |
bool | detect_monsters_evil (POSITION range) |
邪悪なモンスターを感知する / Detect all "evil" monsters on current panel [詳解] | |
bool | detect_monsters_nonliving (POSITION range) |
無生命のモンスターを感知する(アンデッド、悪魔系を含む) / Detect all "nonliving", "undead" or "demonic" monsters on current panel [詳解] | |
bool | detect_monsters_mind (POSITION range) |
精神のあるモンスターを感知する / Detect all monsters it has mind on current panel [詳解] | |
bool | detect_monsters_string (POSITION range, concptr Match) |
該当シンボルのモンスターを感知する / Detect all (string) monsters on current panel [詳解] | |
bool | detect_monsters_xxx (POSITION range, u32b match_flag) |
flags3に対応するモンスターを感知する / A "generic" detect monsters routine, tagged to flags3 [詳解] | |
bool | detect_all (POSITION range) |
全感知処理 / Detect everything [詳解] | |
bool | project_all_los (EFFECT_ID typ, HIT_POINT dam) |
視界内モンスターに魔法効果を与える / Apply a "project()" directly to all viewable monsters [詳解] | |
bool | speed_monsters (void) |
視界内モンスターを加速する処理 / Speed monsters [詳解] | |
bool | slow_monsters (int power) |
視界内モンスターを加速する処理 / Slow monsters [詳解] | |
bool | sleep_monsters (int power) |
視界内モンスターを眠らせる処理 / Sleep monsters [詳解] | |
bool | banish_evil (int dist) |
視界内の邪悪なモンスターをテレポート・アウェイさせる処理 / Banish evil monsters [詳解] | |
bool | turn_undead (void) |
視界内のアンデッド・モンスターを恐怖させる処理 / Turn undead [詳解] | |
bool | dispel_undead (HIT_POINT dam) |
視界内のアンデッド・モンスターにダメージを与える処理 / Dispel undead monsters [詳解] | |
bool | dispel_evil (HIT_POINT dam) |
視界内の邪悪なモンスターにダメージを与える処理 / Dispel evil monsters [詳解] | |
bool | dispel_good (HIT_POINT dam) |
視界内の善良なモンスターにダメージを与える処理 / Dispel good monsters [詳解] | |
bool | dispel_monsters (HIT_POINT dam) |
視界内のあらゆるモンスターにダメージを与える処理 / Dispel all monsters [詳解] | |
bool | cleansing_nova (player_type *creature_ptr, bool magic, bool powerful) |
bool | unleash_mana_storm (player_type *creature_ptr, bool powerful) |
bool | dispel_living (HIT_POINT dam) |
視界内の生命のあるモンスターにダメージを与える処理 / Dispel 'living' monsters [詳解] | |
bool | dispel_demons (HIT_POINT dam) |
視界内の悪魔系モンスターにダメージを与える処理 / Dispel 'living' monsters [詳解] | |
bool | crusade (void) |
視界内のモンスターに「聖戦」効果を与える処理 [詳解] | |
void | aggravate_monsters (MONSTER_IDX who) |
視界内モンスターを怒らせる処理 / Wake up all monsters, and speed up "los" monsters. [詳解] | |
bool | genocide_aux (MONSTER_IDX m_idx, int power, bool player_cast, int dam_side, concptr spell_name) |
モンスターへの単体抹殺処理サブルーチン / Delete a non-unique/non-quest monster [詳解] | |
bool | symbol_genocide (int power, bool player_cast) |
モンスターへのシンボル抹殺処理ルーチン / Delete all non-unique/non-quest monsters of a given "type" from the level [詳解] | |
bool | mass_genocide (int power, bool player_cast) |
モンスターへの周辺抹殺処理ルーチン / Delete all nearby (non-unique) monsters [詳解] | |
bool | mass_genocide_undead (int power, bool player_cast) |
アンデッド・モンスターへの周辺抹殺処理ルーチン / Delete all nearby (non-unique) undead [詳解] | |
bool | probing (void) |
周辺モンスターを調査する / Probe nearby monsters [詳解] | |
void | discharge_minion (void) |
ペット爆破処理 / [詳解] | |
static void | cave_temp_room_lite (void) |
部屋全体を照らすサブルーチン [詳解] | |
static void | cave_temp_room_unlite (void) |
部屋全体を暗くするサブルーチン [詳解] | |
static int | next_to_open (POSITION cy, POSITION cx, bool(*pass_bold)(POSITION, POSITION)) |
周辺に関数ポインタの条件に該当する地形がいくつあるかを計算する / Determine how much contiguous open space this grid is next to [詳解] | |
static int | next_to_walls_adj (POSITION cy, POSITION cx, bool(*pass_bold)(POSITION, POSITION)) |
周辺に関数ポインタの条件に該当する地形がいくつあるかを計算する / Determine how much contiguous open space this grid is next to [詳解] | |
static void | cave_temp_room_aux (POSITION y, POSITION x, bool only_room, bool(*pass_bold)(POSITION, POSITION)) |
部屋内にある一点の周囲に該当する地形数かいくつあるかをグローバル変数tmp_pos.nに返す / Aux function – see below [詳解] | |
static bool | cave_pass_lite_bold (POSITION y, POSITION x) |
指定のマスが光を通すか(LOSフラグを持つか)を返す。 / Aux function – see below [詳解] | |
static void | cave_temp_lite_room_aux (POSITION y, POSITION x) |
部屋内にある一点の周囲がいくつ光を通すかをグローバル変数tmp_pos.nに返す / Aux function – see below [詳解] | |
static bool | cave_pass_dark_bold (POSITION y, POSITION x) |
指定のマスが光を通さず射線のみを通すかを返す。 / Aux function – see below [詳解] | |
static void | cave_temp_unlite_room_aux (POSITION y, POSITION x) |
部屋内にある一点の周囲がいくつ射線を通すかをグローバル変数tmp_pos.nに返す / Aux function – see below [詳解] | |
void | lite_room (POSITION y1, POSITION x1) |
指定された部屋内を照らす / Illuminate any room containing the given location. [詳解] | |
void | unlite_room (POSITION y1, POSITION x1) |
指定された部屋内を暗くする / Darken all rooms containing the given location [詳解] | |
bool | starlight (bool magic) |
bool | lite_area (HIT_POINT dam, POSITION rad) |
プレイヤー位置を中心にLITE_WEAK属性を通じた照明処理を行う / Hack – call light around the player Affect all monsters in the projection radius [詳解] | |
bool | unlite_area (HIT_POINT dam, POSITION rad) |
プレイヤー位置を中心にLITE_DARK属性を通じた消灯処理を行う / Hack – call light around the player Affect all monsters in the projection radius [詳解] | |
bool | fire_ball (EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, POSITION rad) |
ボール系スペルの発動 / Cast a ball spell [詳解] | |
bool | fire_breath (EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, POSITION rad) |
ブレス系スペルの発動 / Cast a breath spell [詳解] | |
bool | fire_rocket (EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, POSITION rad) |
ロケット系スペルの発動(詳細な差は確認中) / Cast a ball spell [詳解] | |
bool | fire_ball_hide (EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, POSITION rad) |
ボール(ハイド)系スペルの発動 / Cast a ball spell [詳解] | |
bool | fire_meteor (MONSTER_IDX who, EFFECT_ID typ, POSITION y, POSITION x, HIT_POINT dam, POSITION rad) |
メテオ系スペルの発動 / Cast a meteor spell [詳解] | |
bool | fire_blast (EFFECT_ID typ, DIRECTION dir, DICE_NUMBER dd, DICE_SID ds, int num, int dev) |
ブラスト系スペルの発動 / Cast a blast spell [詳解] | |
bool | teleport_swap (DIRECTION dir) |
モンスターとの位置交換処理 / Switch position with a monster. [詳解] | |
bool | project_hook (EFFECT_ID typ, DIRECTION dir, HIT_POINT dam, BIT_FLAGS flg) |
指定方向に飛び道具を飛ばす(フラグ任意指定) / Hack – apply a "project()" in a direction (or at the target) [詳解] | |
bool | fire_bolt (EFFECT_ID typ, DIRECTION dir, HIT_POINT dam) |
ボルト系スペルの発動 / Cast a bolt spell. [詳解] | |
bool | fire_beam (EFFECT_ID typ, DIRECTION dir, HIT_POINT dam) |
ビーム系スペルの発動 / Cast a beam spell. [詳解] | |
bool | fire_bolt_or_beam (PERCENTAGE prob, EFFECT_ID typ, DIRECTION dir, HIT_POINT dam) |
確率に応じたボルト系/ビーム系スペルの発動 / Cast a bolt spell, or rarely, a beam spell. [詳解] | |
bool | lite_line (DIRECTION dir, HIT_POINT dam) |
LITE_WEAK属性による光源ビーム処理 [詳解] | |
bool | hypodynamic_bolt (DIRECTION dir, HIT_POINT dam) |
衰弱ボルト処理 [詳解] | |
bool | wall_to_mud (DIRECTION dir, HIT_POINT dam) |
岩石溶解処理 [詳解] | |
bool | wizard_lock (DIRECTION dir) |
魔法の施錠処理 [詳解] | |
bool | destroy_door (DIRECTION dir) |
ドア破壊処理 [詳解] | |
bool | disarm_trap (DIRECTION dir) |
トラップ解除処理 [詳解] | |
bool | death_ray (DIRECTION dir, PLAYER_LEVEL plev) |
死の光線処理 [詳解] | |
bool | teleport_monster (DIRECTION dir, int distance) |
モンスター用テレポート処理 [詳解] | |
bool | door_creation (void) |
ドア生成処理(プレイヤー中心に周囲1マス) / Hooks – affect adjacent grids (radius 1 ball attack) [詳解] | |
bool | trap_creation (POSITION y, POSITION x) |
トラップ生成処理(起点から周囲1マス) [詳解] | |
bool | tree_creation (void) |
森林生成処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | glyph_creation (void) |
魔法のルーン生成処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | wall_stone (void) |
壁生成処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | destroy_doors_touch (void) |
ドア破壊処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | disarm_traps_touch (void) |
トラップ解除処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | sleep_monsters_touch (void) |
スリープモンスター処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | animate_dead (MONSTER_IDX who, POSITION y, POSITION x) |
死者復活処理(起点より周囲5マス) [詳解] | |
void | call_chaos (void) |
混沌招来処理 [詳解] | |
bool | activate_ty_curse (bool stop_ty, int *count) |
TY_CURSE処理発動 / Activate the evil Topi Ylinen curse [詳解] | |
int | activate_hi_summon (POSITION y, POSITION x, bool can_pet) |
HI_SUMMON(上級召喚)処理発動 [詳解] | |
void | wall_breaker (void) |
周辺破壊効果(プレイヤー中心) [詳解] | |
bool | confuse_monsters (HIT_POINT dam) |
パニック・モンスター効果(プレイヤー視界範囲内) / Confuse monsters [詳解] | |
bool | charm_monsters (HIT_POINT dam) |
チャーム・モンスター効果(プレイヤー視界範囲内) / Charm monsters [詳解] | |
bool | charm_animals (HIT_POINT dam) |
動物魅了効果(プレイヤー視界範囲内) / Charm Animals [詳解] | |
bool | stun_monsters (HIT_POINT dam) |
モンスター朦朧効果(プレイヤー視界範囲内) / Stun monsters [詳解] | |
bool | stasis_monsters (HIT_POINT dam) |
モンスター停止効果(プレイヤー視界範囲内) / Stasis monsters [詳解] | |
bool | mindblast_monsters (HIT_POINT dam) |
モンスター精神攻撃効果(プレイヤー視界範囲内) / Mindblast monsters [詳解] | |
bool | banish_monsters (int dist) |
モンスター追放効果(プレイヤー視界範囲内) / Banish all monsters [詳解] | |
bool | turn_evil (HIT_POINT dam) |
邪悪退散効果(プレイヤー視界範囲内) / Turn evil [詳解] | |
bool | turn_monsters (HIT_POINT dam) |
全モンスター退散効果(プレイヤー視界範囲内) / Turn everyone [詳解] | |
bool | deathray_monsters (void) |
死の光線(プレイヤー視界範囲内) / Death-ray all monsters (note: OBSCENELY powerful) [詳解] | |
bool | charm_monster (DIRECTION dir, PLAYER_LEVEL plev) |
チャーム・モンスター(1体) [詳解] | |
bool | control_one_undead (DIRECTION dir, PLAYER_LEVEL plev) |
アンデッド支配(1体) [詳解] | |
bool | control_one_demon (DIRECTION dir, PLAYER_LEVEL plev) |
悪魔支配(1体) [詳解] | |
bool | charm_animal (DIRECTION dir, PLAYER_LEVEL plev) |
動物支配(1体) [詳解] | |
bool | kawarimi (bool success) |
変わり身処理 [詳解] | |
bool | rush_attack (bool *mdeath) |
入身処理 / "Rush Attack" routine for Samurai or Ninja [詳解] | |
void | remove_all_mirrors (bool explode) |
全鏡の消去 / Remove all mirrors in this floor [詳解] | |
void | ring_of_power (DIRECTION dir) |
『一つの指輪』の効果処理 / Hack – activate the ring of power [詳解] | |
void | wild_magic (int spell) |
運命の輪、並びにカオス的な効果の発動 [詳解] | |
void | cast_meteor (HIT_POINT dam, POSITION rad) |
カオス魔法「流星群」の処理としてプレイヤーを中心に隕石落下処理を10+1d10回繰り返す。 / Drop 10+1d10 meteor ball at random places near the player [詳解] | |
bool | cast_wrath_of_the_god (HIT_POINT dam, POSITION rad) |
破邪魔法「神の怒り」の処理としてターゲットを指定した後分解のボールを最大20回発生させる。 [詳解] | |
void | cast_wonder (DIRECTION dir) |
「ワンダー」のランダムな効果を決定して処理する。 [詳解] | |
void | cast_invoke_spirits (DIRECTION dir) |
「悪霊召喚」のランダムな効果を決定して処理する。 [詳解] | |
void | cast_shuffle (player_type *caster_ptr) |
トランプ領域の「シャッフル」の効果をランダムに決めて処理する。 [詳解] | |
void | stop_mouth (void) |
口を使う継続的な処理を中断する [詳解] | |
bool_hack | vampirism (void) |
bool | panic_hit (void) |
bool | psychometry (void) |
超能力者のサイコメトリー処理/ Forcibly pseudo-identify an object in the p_ptr->inventory_list (or on the floor) [詳解] | |
bool | draconian_breath (player_type *creature_ptr) |
bool | android_inside_weapon (player_type *creature_ptr) |
bool | create_ration (player_type *crature_ptr) |
void | hayagake (player_type *creature_ptr) |
bool | double_attack (player_type *creature_ptr) |
bool | comvert_hp_to_mp (player_type *creature_ptr) |
bool | comvert_mp_to_hp (player_type *creature_ptr) |
bool | demonic_breath (player_type *creature_ptr) |
bool | mirror_concentration (player_type *creature_ptr) |
bool | sword_dancing (player_type *creature_ptr) |
bool | confusing_light (player_type *creature_ptr) |
bool | rodeo (player_type *creature_ptr) |
bool | clear_mind (player_type *creature_ptr) |
bool | concentration (player_type *creature_ptr) |
魔法効果の実装/ Spell code (part 2)
HI_SUMMON(上級召喚)処理発動
y | 召喚位置Y座標 |
x | 召喚位置X座標 |
can_pet | プレイヤーのペットとなる可能性があるならばTRUEにする |
TY_CURSE処理発動 / Activate the evil Topi Ylinen curse
stop_ty | 再帰処理停止フラグ |
count | 発動回数 |
rr9: Stop the nasty things when a Cyberdemon is summoned or the player gets paralyzed.
void aggravate_monsters | ( | MONSTER_IDX | who | ) |
視界内モンスターを怒らせる処理 / Wake up all monsters, and speed up "los" monsters.
who | 怒らせる原因を起こしたモンスター(0ならばプレイヤー) |
bool android_inside_weapon | ( | player_type * | creature_ptr | ) |
bool animate_dead | ( | MONSTER_IDX | who, |
POSITION | y, | ||
POSITION | x | ||
) |
死者復活処理(起点より周囲5マス)
who | 術者モンスターID(0ならばプレイヤー) |
y | 起点Y座標 |
x | 起点X座標 |
bool banish_evil | ( | int | dist | ) |
視界内の邪悪なモンスターをテレポート・アウェイさせる処理 / Banish evil monsters
bool banish_monsters | ( | int | dist | ) |
モンスター追放効果(プレイヤー視界範囲内) / Banish all monsters
dist | 効力(距離) |
void call_chaos | ( | void | ) |
混沌招来処理
void cast_invoke_spirits | ( | DIRECTION | dir | ) |
「悪霊召喚」のランダムな効果を決定して処理する。
dir | 方向ID |
カオス魔法「流星群」の処理としてプレイヤーを中心に隕石落下処理を10+1d10回繰り返す。 / Drop 10+1d10 meteor ball at random places near the player
dam | ダメージ |
rad | 効力の半径 |
void cast_shuffle | ( | player_type * | caster_ptr | ) |
トランプ領域の「シャッフル」の効果をランダムに決めて処理する。
void cast_wonder | ( | DIRECTION | dir | ) |
「ワンダー」のランダムな効果を決定して処理する。
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.
破邪魔法「神の怒り」の処理としてターゲットを指定した後分解のボールを最大20回発生させる。
dam | ダメージ |
rad | 効力の半径 |
指定のマスが光を通さず射線のみを通すかを返す。 / Aux function – see below
y | 指定Y座標 |
x | 指定X座標 |
指定のマスが光を通すか(LOSフラグを持つか)を返す。 / Aux function – see below
y | 指定Y座標 |
x | 指定X座標 |
部屋内にある一点の周囲がいくつ光を通すかをグローバル変数tmp_pos.nに返す / Aux function – see below
y | 指定Y座標 |
x | 指定X座標 |
|
static |
部屋内にある一点の周囲に該当する地形数かいくつあるかをグローバル変数tmp_pos.nに返す / Aux function – see below
y | 部屋内のy座標1点 |
x | 部屋内のx座標1点 |
only_room | 部屋内地形のみをチェック対象にするならば TRUE |
pass_bold | 地形条件を返す関数ポインタ |
|
static |
部屋全体を照らすサブルーチン
This routine clears the entire "temp" set. This routine will Perma-Lite all "temp" grids. This routine is used (only) by "lite_room()" Dark grids are illuminated. Also, process all affected monsters.
SMART monsters always wake up when illuminated NORMAL monsters wake up 1/4 the time when illuminated STUPID monsters wake up 1/10 the time when illuminated
|
static |
部屋全体を暗くするサブルーチン
This routine clears the entire "temp" set. This routine will "darken" all "temp" grids. In addition, some of these grids will be "unmarked". This routine is used (only) by "unlite_room()" Also, process all affected monsters
部屋内にある一点の周囲がいくつ射線を通すかをグローバル変数tmp_pos.nに返す / Aux function – see below
y | 指定Y座標 |
x | 指定X座標 |
bool charm_animal | ( | DIRECTION | dir, |
PLAYER_LEVEL | plev | ||
) |
動物支配(1体)
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
plev | パワー |
動物魅了効果(プレイヤー視界範囲内) / Charm Animals
dam | 効力 |
bool charm_monster | ( | DIRECTION | dir, |
PLAYER_LEVEL | plev | ||
) |
チャーム・モンスター(1体)
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
plev | パワー |
チャーム・モンスター効果(プレイヤー視界範囲内) / Charm monsters
dam | 効力 |
bool cleansing_nova | ( | player_type * | creature_ptr, |
bool | magic, | ||
bool | powerful | ||
) |
bool clear_mind | ( | player_type * | creature_ptr | ) |
bool comvert_hp_to_mp | ( | player_type * | creature_ptr | ) |
bool comvert_mp_to_hp | ( | player_type * | creature_ptr | ) |
bool concentration | ( | player_type * | creature_ptr | ) |
パニック・モンスター効果(プレイヤー視界範囲内) / Confuse monsters
dam | 効力 |
bool confusing_light | ( | player_type * | creature_ptr | ) |
bool control_one_demon | ( | DIRECTION | dir, |
PLAYER_LEVEL | plev | ||
) |
悪魔支配(1体)
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
plev | パワー |
bool control_one_undead | ( | DIRECTION | dir, |
PLAYER_LEVEL | plev | ||
) |
アンデッド支配(1体)
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
plev | パワー |
bool create_ration | ( | player_type * | crature_ptr | ) |
bool crusade | ( | void | ) |
視界内のモンスターに「聖戦」効果を与える処理
bool death_ray | ( | DIRECTION | dir, |
PLAYER_LEVEL | plev | ||
) |
死の光線処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
plev | プレイヤーレベル(効力はplev*200) |
bool deathray_monsters | ( | void | ) |
死の光線(プレイヤー視界範囲内) / Death-ray all monsters (note: OBSCENELY powerful)
bool demonic_breath | ( | player_type * | creature_ptr | ) |
ドア破壊処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
bool destroy_doors_touch | ( | void | ) |
ドア破壊処理(プレイヤー中心に周囲1マス)
全感知処理 / Detect everything
range | 効果範囲 |
プレイヤー周辺のドアを感知する / Detect all doors on current panel
range | 効果範囲 |
プレイヤー周辺の地形を感知する
range | 効果範囲 |
flag | 特定地形ID |
known | 地形から危険フラグを外すならTRUE |
邪悪なモンスターを感知する / Detect all "evil" monsters on current panel
range | 効果範囲 |
不可視のモンスターを感知する / Detect all "invisible" monsters around the player
range | 効果範囲 |
精神のあるモンスターを感知する / Detect all monsters it has mind on current panel
range | 効果範囲 |
無生命のモンスターを感知する(アンデッド、悪魔系を含む) / Detect all "nonliving", "undead" or "demonic" monsters on current panel
range | 効果範囲 |
一般のモンスターを感知する / Detect all "normal" monsters on the current panel
range | 効果範囲 |
該当シンボルのモンスターを感知する / Detect all (string) monsters on current panel
range | 効果範囲 |
Match | 対応シンボルの混じったモンスター文字列(複数指定化) |
flags3に対応するモンスターを感知する / A "generic" detect monsters routine, tagged to flags3
range | 効果範囲 |
match_flag | 感知フラグ |
プレイヤー周辺のアイテム財宝を感知する / Detect all "gold" objects on the current panel
range | 効果範囲 |
魔法効果のあるのアイテムオブジェクトを感知する / Detect all "magic" objects on the current panel.
range | 効果範囲 |
This will light up all spaces with "magic" items, including artifacts, ego-items, potions, scrolls, books, rods, wands, staves, amulets, rings, and "enchanted" items of the "good" variety.
It can probably be argued that this function is now too powerful.
通常のアイテムオブジェクトを感知する / Detect all "normal" objects on the current panel
range | 効果範囲 |
プレイヤー周辺の階段を感知する / Detect all stairs on current panel
range | 効果範囲 |
プレイヤー周辺のトラップを感知する / Detect all traps on current panel
range | 効果範囲 |
known | 感知外範囲を超える警告フラグを立てる場合TRUEを返す |
プレイヤー周辺の地形財宝を感知する / Detect any treasure on the current panel
range | 効果範囲 |
トラップ解除処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
bool disarm_traps_touch | ( | void | ) |
トラップ解除処理(プレイヤー中心に周囲1マス)
void discharge_minion | ( | void | ) |
ペット爆破処理 /
視界内の悪魔系モンスターにダメージを与える処理 / Dispel 'living' monsters
視界内の邪悪なモンスターにダメージを与える処理 / Dispel evil monsters
視界内の善良なモンスターにダメージを与える処理 / Dispel good monsters
視界内の生命のあるモンスターにダメージを与える処理 / Dispel 'living' monsters
視界内のあらゆるモンスターにダメージを与える処理 / Dispel all monsters
視界内のアンデッド・モンスターにダメージを与える処理 / Dispel undead monsters
bool door_creation | ( | void | ) |
ドア生成処理(プレイヤー中心に周囲1マス) / Hooks – affect adjacent grids (radius 1 ball attack)
bool double_attack | ( | player_type * | creature_ptr | ) |
bool draconian_breath | ( | player_type * | creature_ptr | ) |
ボール系スペルの発動 / Cast a ball spell
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
rad | 半径 |
Stop if we hit a monster, act as a "ball" Allow "target" mode to pass over monsters Affect grids, objects, and monsters
ボール(ハイド)系スペルの発動 / Cast a ball spell
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
rad | 半径 |
Stop if we hit a monster, act as a "ball" Allow "target" mode to pass over monsters Affect grids, objects, and monsters
ビーム系スペルの発動 / Cast a beam spell.
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
Pass through monsters, as a "beam". Affect monsters, grids and objects.
bool fire_blast | ( | EFFECT_ID | typ, |
DIRECTION | dir, | ||
DICE_NUMBER | dd, | ||
DICE_SID | ds, | ||
int | num, | ||
int | dev | ||
) |
ブラスト系スペルの発動 / Cast a blast spell
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dd | 威力ダイス数 |
ds | 威力ダイス目 |
num | 基本回数 |
dev | 回数分散 |
ボルト系スペルの発動 / Cast a bolt spell.
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
Stop if we hit a monster, as a "bolt". Affect monsters and grids (not objects).
bool fire_bolt_or_beam | ( | PERCENTAGE | prob, |
EFFECT_ID | typ, | ||
DIRECTION | dir, | ||
HIT_POINT | dam | ||
) |
確率に応じたボルト系/ビーム系スペルの発動 / Cast a bolt spell, or rarely, a beam spell.
prob | ビーム化する確率(%) |
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
Pass through monsters, as a "beam". Affect monsters, grids and objects.
ブレス系スペルの発動 / Cast a breath spell
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
rad | 半径 |
Stop if we hit a monster, act as a "ball" Allow "target" mode to pass over monsters Affect grids, objects, and monsters
bool fire_meteor | ( | MONSTER_IDX | who, |
EFFECT_ID | typ, | ||
POSITION | y, | ||
POSITION | x, | ||
HIT_POINT | dam, | ||
POSITION | rad | ||
) |
メテオ系スペルの発動 / Cast a meteor spell
who | スぺル詠唱者のモンスターID(0=プレイヤー) |
typ | 効果属性 |
dam | 威力 |
rad | 半径 |
y | 中心点Y座標 |
x | 中心点X座標 |
Cast a meteor spell, defined as a ball spell cast by an arbitary monster, player, or outside source, that starts out at an arbitrary location, and leaving no trail from the "caster" to the target. This function is especially useful for bombardments and similar. -LM- Option to hurt the player.
ロケット系スペルの発動(詳細な差は確認中) / Cast a ball spell
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
rad | 半径 |
Stop if we hit a monster, act as a "ball" Allow "target" mode to pass over monsters Affect grids, objects, and monsters
bool genocide_aux | ( | MONSTER_IDX | m_idx, |
int | power, | ||
bool | player_cast, | ||
int | dam_side, | ||
concptr | spell_name | ||
) |
モンスターへの単体抹殺処理サブルーチン / Delete a non-unique/non-quest monster
m_idx | 抹殺するモンスターID |
power | 抹殺の威力 |
player_cast | プレイヤーの魔法によるものならば TRUE |
dam_side | プレイヤーへの負担ダメージ量(1d(dam_side)) |
spell_name | 抹殺効果を起こした魔法の名前 |
bool glyph_creation | ( | void | ) |
魔法のルーン生成処理(プレイヤー中心に周囲1マス)
void hayagake | ( | player_type * | creature_ptr | ) |
衰弱ボルト処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
プレイヤー位置を中心にLITE_WEAK属性を通じた照明処理を行う / Hack – call light around the player Affect all monsters in the projection radius
dam | 威力 |
rad | 効果半径 |
LITE_WEAK属性による光源ビーム処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
指定された部屋内を照らす / Illuminate any room containing the given location.
y1 | 指定Y座標 |
x1 | 指定X座標 |
モンスターへの周辺抹殺処理ルーチン / Delete all nearby (non-unique) monsters
power | 抹殺の威力 |
player_cast | プレイヤーの魔法によるものならば TRUE |
アンデッド・モンスターへの周辺抹殺処理ルーチン / Delete all nearby (non-unique) undead
power | 抹殺の威力 |
player_cast | プレイヤーの魔法によるものならば TRUE |
モンスター精神攻撃効果(プレイヤー視界範囲内) / Mindblast monsters
dam | 効力 |
bool mirror_concentration | ( | player_type * | creature_ptr | ) |
周辺に関数ポインタの条件に該当する地形がいくつあるかを計算する / Determine how much contiguous open space this grid is next to
cy | Y座標 |
cx | X座標 |
pass_bold | 地形条件を返す関数ポインタ |
|
static |
周辺に関数ポインタの条件に該当する地形がいくつあるかを計算する / Determine how much contiguous open space this grid is next to
cy | Y座標 |
cx | X座標 |
pass_bold | 地形条件を返す関数ポインタ |
bool panic_hit | ( | void | ) |
bool probing | ( | void | ) |
周辺モンスターを調査する / Probe nearby monsters
視界内モンスターに魔法効果を与える / Apply a "project()" directly to all viewable monsters
typ | 属性効果 |
dam | 効果量 |
Note that affected monsters are NOT auto-tracked by this usage.
To avoid misbehavior when monster deaths have side-effects, this is done in two passes. -- JDL
指定方向に飛び道具を飛ばす(フラグ任意指定) / Hack – apply a "project()" in a direction (or at the target)
typ | 効果属性 |
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
flg | フラグ |
bool psychometry | ( | void | ) |
超能力者のサイコメトリー処理/ Forcibly pseudo-identify an object in the p_ptr->inventory_list (or on the floor)
void remove_all_mirrors | ( | bool | explode | ) |
全鏡の消去 / Remove all mirrors in this floor
explode | 爆発処理を伴うならばTRUE |
void ring_of_power | ( | DIRECTION | dir | ) |
『一つの指輪』の効果処理 / Hack – activate the ring of power
dir | 発動の方向ID |
bool rodeo | ( | player_type * | creature_ptr | ) |
入身処理 / "Rush Attack" routine for Samurai or Ninja
mdeath | 目標モンスターが死亡したかを返す |
bool sleep_monsters | ( | int | power | ) |
視界内モンスターを眠らせる処理 / Sleep monsters
bool sleep_monsters_touch | ( | void | ) |
スリープモンスター処理(プレイヤー中心に周囲1マス)
bool slow_monsters | ( | int | power | ) |
視界内モンスターを加速する処理 / Slow monsters
bool speed_monsters | ( | void | ) |
視界内モンスターを加速する処理 / Speed monsters
モンスター停止効果(プレイヤー視界範囲内) / Stasis monsters
dam | 効力 |
void stop_mouth | ( | void | ) |
口を使う継続的な処理を中断する
モンスター朦朧効果(プレイヤー視界範囲内) / Stun monsters
dam | 効力 |
bool sword_dancing | ( | player_type * | creature_ptr | ) |
モンスターへのシンボル抹殺処理ルーチン / Delete all non-unique/non-quest monsters of a given "type" from the level
power | 抹殺の威力 |
player_cast | プレイヤーの魔法によるものならば TRUE |
モンスター用テレポート処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
distance | 移動距離 |
モンスターとの位置交換処理 / Switch position with a monster.
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
トラップ生成処理(起点から周囲1マス)
y | 起点Y座標 |
x | 起点X座標 |
bool tree_creation | ( | void | ) |
森林生成処理(プレイヤー中心に周囲1マス)
邪悪退散効果(プレイヤー視界範囲内) / Turn evil
dam | 効力 |
全モンスター退散効果(プレイヤー視界範囲内) / Turn everyone
dam | 効力 |
bool turn_undead | ( | void | ) |
視界内のアンデッド・モンスターを恐怖させる処理 / Turn undead
bool unleash_mana_storm | ( | player_type * | creature_ptr, |
bool | powerful | ||
) |
プレイヤー位置を中心にLITE_DARK属性を通じた消灯処理を行う / Hack – call light around the player Affect all monsters in the projection radius
dam | 威力 |
rad | 効果半径 |
指定された部屋内を暗くする / Darken all rooms containing the given location
y1 | 指定Y座標 |
x1 | 指定X座標 |
bool_hack vampirism | ( | void | ) |
void wall_breaker | ( | void | ) |
周辺破壊効果(プレイヤー中心)
bool wall_stone | ( | void | ) |
壁生成処理(プレイヤー中心に周囲1マス)
岩石溶解処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
dam | 威力 |
void wild_magic | ( | int | spell | ) |
運命の輪、並びにカオス的な効果の発動
spell | ランダムな効果を選択するための基準ID |