Hengband
2.2.1
|
#include "realm.h"
データ構造 | |
struct | magic_type |
マクロ定義 | |
#define | DETECT_RAD_DEFAULT 30 |
#define | DETECT_RAD_MAP 30 |
#define | DETECT_RAD_ALL 255 |
#define | SPOP_DISPLAY_MES 0x0001 |
#define | SPOP_NO_UPDATE 0x0002 |
#define | SPOP_DEBUG 0x8000 |
#define | GF_ELEC 1 |
魔法効果: 電撃 [詳解] | |
#define | GF_POIS 2 |
魔法効果: 毒 [詳解] | |
#define | GF_ACID 3 |
魔法効果: 酸 [詳解] | |
#define | GF_COLD 4 |
魔法効果: 冷気 [詳解] | |
#define | GF_FIRE 5 |
魔法効果: 火炎 [詳解] | |
#define | GF_PSY_SPEAR 9 |
魔法効果: 光の剣 [詳解] | |
#define | GF_MISSILE 10 |
魔法効果: 弱魔力 [詳解] | |
#define | GF_ARROW 11 |
魔法効果: 射撃 [詳解] | |
#define | GF_PLASMA 12 |
魔法効果: プラズマ [詳解] | |
#define | GF_WATER 14 |
魔法効果: 水流 [詳解] | |
#define | GF_LITE 15 |
魔法効果: 閃光 [詳解] | |
#define | GF_DARK 16 |
魔法効果: 暗黒 [詳解] | |
#define | GF_LITE_WEAK 17 |
魔法効果: 弱光 [詳解] | |
#define | GF_DARK_WEAK 18 |
魔法効果: 弱暗 [詳解] | |
#define | GF_SHARDS 20 |
魔法効果: 破片 [詳解] | |
#define | GF_SOUND 21 |
魔法効果: 轟音 [詳解] | |
#define | GF_CONFUSION 22 |
魔法効果: 混乱 [詳解] | |
#define | GF_FORCE 23 |
魔法効果: フォース [詳解] | |
#define | GF_INERTIAL 24 |
魔法効果: 遅鈍 [詳解] | |
#define | GF_MANA 26 |
魔法効果: 純粋魔力 [詳解] | |
#define | GF_METEOR 27 |
魔法効果: 隕石 [詳解] | |
#define | GF_ICE 28 |
魔法効果: 極寒 [詳解] | |
#define | GF_CHAOS 30 |
魔法効果: カオス [詳解] | |
#define | GF_NETHER 31 |
魔法効果: 地獄 [詳解] | |
#define | GF_DISENCHANT 32 |
魔法効果: 劣化 [詳解] | |
#define | GF_NEXUS 33 |
魔法効果: 因果混乱 [詳解] | |
#define | GF_TIME 34 |
魔法効果: 時間逆転 [詳解] | |
#define | GF_GRAVITY 35 |
魔法効果: 重力 [詳解] | |
#define | GF_KILL_WALL 40 |
魔法効果: 岩石溶解 [詳解] | |
#define | GF_KILL_DOOR 41 |
魔法効果: ドア破壊 [詳解] | |
#define | GF_KILL_TRAP 42 |
魔法効果: トラップ破壊 [詳解] | |
#define | GF_MAKE_WALL 45 |
魔法効果: 壁生成 [詳解] | |
#define | GF_MAKE_DOOR 46 |
魔法効果: ドア生成 [詳解] | |
#define | GF_MAKE_TRAP 47 |
魔法効果: トラップ生成 [詳解] | |
#define | GF_MAKE_TREE 48 |
魔法効果: 森林生成 [詳解] | |
#define | GF_OLD_CLONE 51 |
魔法効果: クローン・モンスター [詳解] | |
#define | GF_OLD_POLY 52 |
魔法効果: チェンジ・モンスター [詳解] | |
#define | GF_OLD_HEAL 53 |
魔法効果: 回復モンスター [詳解] | |
#define | GF_OLD_SPEED 54 |
魔法効果: スピード・モンスター [詳解] | |
#define | GF_OLD_SLOW 55 |
魔法効果: スロウ・モンスター [詳解] | |
#define | GF_OLD_CONF 56 |
魔法効果: パニック・モンスター [詳解] | |
#define | GF_OLD_SLEEP 57 |
魔法効果: スリープ・モンスター [詳解] | |
#define | GF_HYPODYNAMIA 58 |
魔法効果: 衰弱 [詳解] | |
#define | GF_AWAY_UNDEAD 61 |
魔法効果: アンデッド・アウェイ [詳解] | |
#define | GF_AWAY_EVIL 62 |
魔法効果: 邪悪飛ばし [詳解] | |
#define | GF_AWAY_ALL 63 |
魔法効果: テレポート・アウェイ [詳解] | |
#define | GF_TURN_UNDEAD 64 |
魔法効果: アンデッド恐慌 [詳解] | |
#define | GF_TURN_EVIL 65 |
魔法効果: 邪悪恐慌 [詳解] | |
#define | GF_TURN_ALL 66 |
魔法効果: モンスター恐慌 [詳解] | |
#define | GF_DISP_UNDEAD 67 |
魔法効果: アンデッド退散 [詳解] | |
#define | GF_DISP_EVIL 68 |
魔法効果: 邪悪退散 [詳解] | |
#define | GF_DISP_ALL 69 |
魔法効果: モンスター退散 [詳解] | |
#define | GF_DISP_DEMON 70 |
魔法効果: 悪魔退散 [詳解] | |
#define | GF_DISP_LIVING 71 |
魔法効果: 生命退散 [詳解] | |
#define | GF_ROCKET 72 |
魔法効果: ロケット [詳解] | |
#define | GF_NUKE 73 |
魔法効果: 放射性廃棄物 [詳解] | |
#define | GF_MAKE_GLYPH 74 |
魔法効果: 守りのルーン生成 [詳解] | |
#define | GF_STASIS 75 |
魔法効果: モンスター拘束 [詳解] | |
#define | GF_STONE_WALL 76 |
魔法効果: 壁生成 [詳解] | |
#define | GF_DEATH_RAY 77 |
魔法効果: 死の光線 [詳解] | |
#define | GF_STUN 78 |
魔法効果: 朦朧 [詳解] | |
#define | GF_HOLY_FIRE 79 |
魔法効果: 聖光 [詳解] | |
#define | GF_HELL_FIRE 80 |
魔法効果: 地獄の劫火 [詳解] | |
#define | GF_DISINTEGRATE 81 |
魔法効果: 分解 [詳解] | |
#define | GF_CHARM 82 |
魔法効果: モンスター魅了 [詳解] | |
#define | GF_CONTROL_UNDEAD 83 |
魔法効果: アンデッド支配 [詳解] | |
#define | GF_CONTROL_ANIMAL 84 |
魔法効果: 動物支配 [詳解] | |
#define | GF_PSI 85 |
魔法効果: サイキック攻撃 [詳解] | |
#define | GF_PSI_DRAIN 86 |
魔法効果: 精神吸収 [詳解] | |
#define | GF_TELEKINESIS 87 |
魔法効果: テレキシネス [詳解] | |
#define | GF_JAM_DOOR 88 |
魔法効果: 施錠 [詳解] | |
#define | GF_DOMINATION 89 |
魔法効果: 精神支配 [詳解] | |
#define | GF_DISP_GOOD 90 |
魔法効果: 善良退散 [詳解] | |
#define | GF_DRAIN_MANA 91 |
魔法効果: 魔力吸収 [詳解] | |
#define | GF_MIND_BLAST 92 |
魔法効果: 精神攻撃 [詳解] | |
#define | GF_BRAIN_SMASH 93 |
魔法効果: 脳攻撃 [詳解] | |
#define | GF_CAUSE_1 94 |
魔法効果: 軽傷の呪い [詳解] | |
#define | GF_CAUSE_2 95 |
魔法効果: 重傷の呪い [詳解] | |
#define | GF_CAUSE_3 96 |
魔法効果: 致命傷の呪い [詳解] | |
#define | GF_CAUSE_4 97 |
魔法効果: 秘孔を突く [詳解] | |
#define | GF_HAND_DOOM 98 |
魔法効果: 破滅の手 [詳解] | |
#define | GF_CAPTURE 99 |
魔法効果: 捕縛 [詳解] | |
#define | GF_ANIM_DEAD 100 |
魔法効果: 死者復活 [詳解] | |
#define | GF_CHARM_LIVING 101 |
魔法効果: 生命魅了 [詳解] | |
#define | GF_IDENTIFY 102 |
魔法効果: 鑑定 [詳解] | |
#define | GF_ATTACK 103 |
魔法効果: 白兵 [詳解] | |
#define | GF_ENGETSU 104 |
魔法効果: 円月 [詳解] | |
#define | GF_GENOCIDE 105 |
魔法効果: 抹殺 [詳解] | |
#define | GF_PHOTO 106 |
魔法効果: 撮影 [詳解] | |
#define | GF_CONTROL_DEMON 107 |
魔法効果: 悪魔支配 [詳解] | |
#define | GF_LAVA_FLOW 108 |
魔法効果: 溶岩噴出 [詳解] | |
#define | GF_BLOOD_CURSE 109 |
魔法効果: 血の呪い [詳解] | |
#define | GF_SEEKER 110 |
魔法効果: シーカーレイ [詳解] | |
#define | GF_SUPER_RAY 111 |
魔法効果: スーパーレイ [詳解] | |
#define | GF_STAR_HEAL 112 |
魔法効果: 星の癒し [詳解] | |
#define | GF_WATER_FLOW 113 |
魔法効果: 流水 [詳解] | |
#define | GF_CRUSADE 114 |
魔法効果: 聖戦 [詳解] | |
#define | GF_STASIS_EVIL 115 |
魔法効果: 邪悪拘束 [詳解] | |
#define | GF_WOUNDS 116 |
魔法効果: 創傷 [詳解] | |
#define | MAX_GF 117 |
#define | PROJECT_WHO_UNCTRL_POWER -1 |
魔法効果の自然発生要因: 名状し難い力の解放 [詳解] | |
#define | PROJECT_WHO_GLASS_SHARDS -2 |
魔法効果の自然発生要因: 破壊されたガラス地形の破片 [詳解] | |
#define | TELEPORT_NONMAGICAL 0x00000001 |
#define | TELEPORT_PASSIVE 0x00000002 |
#define | TELEPORT_DEC_VALOUR 0x00000004 |
#define | TELE_LEVEL_IS_INEFF(TARGET) |
型定義 | |
typedef struct magic_type | magic_type |
関数 | |
PERCENTAGE | beam_chance (void) |
一部ボルト魔法のビーム化確率を算出する / Prepare standard probability to become beam for fire_bolt_or_beam() [詳解] | |
bool | in_disintegration_range (POSITION y1, POSITION x1, POSITION y2, POSITION x2) |
void | breath_shape (u16b *path_g, int dist, int *pgrids, POSITION *gx, POSITION *gy, POSITION *gm, POSITION *pgm_rad, POSITION rad, POSITION y1, POSITION x1, POSITION y2, POSITION x2, EFFECT_ID typ) |
POSITION | dist_to_line (POSITION y, POSITION x, POSITION y1, POSITION x1, POSITION y2, POSITION x2) |
bool | project (MONSTER_IDX who, POSITION rad, POSITION y, POSITION x, HIT_POINT dam, EFFECT_ID typ, BIT_FLAGS flg, int monspell) |
汎用的なビーム/ボルト/ボール系処理のルーチン Generic "beam"/"bolt"/"ball" projection routine. [詳解] | |
bool | binding_field (player_type *caster_ptr, HIT_POINT dam) |
鏡魔法「封魔結界」の効果処理 [詳解] | |
void | seal_of_mirror (HIT_POINT dam) |
鏡魔法「鏡の封印」の効果処理 [詳解] | |
concptr | spell_category_name (OBJECT_TYPE_VALUE tval) |
領域魔法に応じて技能の名称を返す。 [詳解] | |
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_xxx (POSITION range, u32b match_flag) |
flags3に対応するモンスターを感知する / A "generic" detect monsters routine, tagged to flags3 [詳解] | |
bool | detect_monsters_string (POSITION range, concptr) |
該当シンボルのモンスターを感知する / Detect all (string) 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_all (POSITION range) |
全感知処理 / Detect everything [詳解] | |
bool | wall_stone (void) |
壁生成処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | speed_monsters (void) |
視界内モンスターを加速する処理 / Speed monsters [詳解] | |
bool | slow_monsters (int power) |
視界内モンスターを加速する処理 / Slow monsters [詳解] | |
bool | sleep_monsters (int power) |
視界内モンスターを眠らせる処理 / Sleep monsters [詳解] | |
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 [詳解] | |
bool | banish_evil (int dist) |
視界内の邪悪なモンスターをテレポート・アウェイさせる処理 / Banish evil monsters [詳解] | |
bool | dispel_evil (HIT_POINT dam) |
視界内の邪悪なモンスターにダメージを与える処理 / Dispel evil monsters [詳解] | |
bool | dispel_good (HIT_POINT dam) |
視界内の善良なモンスターにダメージを与える処理 / Dispel good monsters [詳解] | |
bool | dispel_undead (HIT_POINT dam) |
視界内のアンデッド・モンスターにダメージを与える処理 / Dispel undead monsters [詳解] | |
bool | dispel_monsters (HIT_POINT dam) |
視界内のあらゆるモンスターにダメージを与える処理 / Dispel all monsters [詳解] | |
bool | dispel_living (HIT_POINT dam) |
視界内の生命のあるモンスターにダメージを与える処理 / Dispel 'living' monsters [詳解] | |
bool | dispel_demons (HIT_POINT dam) |
視界内の悪魔系モンスターにダメージを与える処理 / Dispel 'living' monsters [詳解] | |
bool | cleansing_nova (player_type *creature_ptr, bool magic, bool powerful) |
bool | unleash_mana_storm (player_type *creature_ptr, bool powerful) |
bool | crusade (void) |
視界内のモンスターに「聖戦」効果を与える処理 [詳解] | |
bool | turn_undead (void) |
視界内のアンデッド・モンスターを恐怖させる処理 / Turn undead [詳解] | |
void | lite_room (POSITION y1, POSITION x1) |
指定された部屋内を照らす / Illuminate any room containing the given location. [詳解] | |
bool | starlight (bool magic) |
void | unlite_room (POSITION y1, POSITION x1) |
指定された部屋内を暗くする / Darken all rooms containing the given location [詳解] | |
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 x, POSITION y, HIT_POINT dam, POSITION rad) |
メテオ系スペルの発動 / Cast a meteor spell [詳解] | |
bool | fire_bolt (EFFECT_ID typ, DIRECTION dir, HIT_POINT dam) |
ボルト系スペルの発動 / Cast a bolt spell. [詳解] | |
bool | fire_blast (EFFECT_ID typ, DIRECTION dir, DICE_NUMBER dd, DICE_SID ds, int num, int dev) |
ブラスト系スペルの発動 / Cast a blast spell [詳解] | |
void | call_chaos (void) |
混沌招来処理 [詳解] | |
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 | death_ray (DIRECTION dir, PLAYER_LEVEL plev) |
死の光線処理 [詳解] | |
bool | wall_to_mud (DIRECTION dir, HIT_POINT dam) |
岩石溶解処理 [詳解] | |
bool | destroy_door (DIRECTION dir) |
ドア破壊処理 [詳解] | |
bool | disarm_trap (DIRECTION dir) |
トラップ解除処理 [詳解] | |
bool | wizard_lock (DIRECTION dir) |
魔法の施錠処理 [詳解] | |
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 | destroy_doors_touch (void) |
ドア破壊処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | disarm_traps_touch (void) |
トラップ解除処理(プレイヤー中心に周囲1マス) [詳解] | |
bool | animate_dead (MONSTER_IDX who, POSITION y, POSITION x) |
死者復活処理(起点より周囲5マス) [詳解] | |
bool | sleep_monsters_touch (void) |
スリープモンスター処理(プレイヤー中心に周囲1マス) [詳解] | |
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 | banish_monsters (int dist) |
モンスター追放効果(プレイヤー視界範囲内) / Banish all monsters [詳解] | |
bool | turn_monsters (HIT_POINT dam) |
全モンスター退散効果(プレイヤー視界範囲内) / Turn everyone [詳解] | |
bool | turn_evil (HIT_POINT dam) |
邪悪退散効果(プレイヤー視界範囲内) / Turn evil [詳解] | |
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 | mindblast_monsters (HIT_POINT dam) |
モンスター精神攻撃効果(プレイヤー視界範囲内) / Mindblast monsters [詳解] | |
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 | project_all_los (EFFECT_ID typ, HIT_POINT dam) |
視界内モンスターに魔法効果を与える / Apply a "project()" directly to all viewable monsters [詳解] | |
bool | eat_magic (player_type *caster_ptr, int power) |
魔力食い処理 [詳解] | |
void | discharge_minion (void) |
ペット爆破処理 / [詳解] | |
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) |
bool | teleport_away (player_type *caster_ptr, MONSTER_IDX m_idx, POSITION dis, BIT_FLAGS mode) |
モンスターのテレポートアウェイ処理 / Teleport a monster, normally up to "dis" grids away. [詳解] | |
void | teleport_monster_to (MONSTER_IDX m_idx, POSITION ty, POSITION tx, int power, BIT_FLAGS mode) |
モンスターを指定された座標付近にテレポートする / Teleport monster next to a grid near the given location [詳解] | |
bool | teleport_player_aux (player_type *creature_ptr, POSITION dis, BIT_FLAGS mode) |
プレイヤーのテレポート先選定と移動処理 / Teleport the player to a location up to "dis" grids away. [詳解] | |
void | teleport_player (POSITION dis, BIT_FLAGS mode) |
プレイヤーのテレポート処理メインルーチン [詳解] | |
void | teleport_player_away (MONSTER_IDX m_idx, POSITION dis) |
プレイヤーのテレポートアウェイ処理 / [詳解] | |
void | teleport_player_to (player_type *creature_ptr, POSITION ny, POSITION nx, BIT_FLAGS mode) |
プレイヤーを指定位置近辺にテレポートさせる Teleport player to a grid near the given location [詳解] | |
void | teleport_away_followable (MONSTER_IDX m_idx) |
bool | teleport_level_other (player_type *creature_ptr) |
void | teleport_level (player_type *creature_ptr, MONSTER_IDX m_idx) |
プレイヤー及びモンスターをレベルテレポートさせる / Teleport the player one level up or down (random when legal) [詳解] | |
bool | recall_player (player_type *creature_ptr, TIME_EFFECT turns) |
プレイヤーの帰還発動及び中止処理 / Recall the player to town or dungeon [詳解] | |
bool | free_level_recall (player_type *creature_ptr) |
bool | reset_recall (void) |
フロア・リセット処理 [詳解] | |
bool | apply_disenchant (player_type *target_ptr, BIT_FLAGS mode) |
プレイヤーの装備劣化処理 / Apply disenchantment to the player's stuff [詳解] | |
void | call_the_void (player_type *caster_ptr) |
虚無招来処理 / [詳解] | |
void | fetch (player_type *caster_ptr, DIRECTION dir, WEIGHT wgt, bool require_los) |
アイテム引き寄せ処理 / Fetch an item (teleport it right underneath the caster) [詳解] | |
void | alter_reality (void) |
現実変容処理 [詳解] | |
void | identify_pack (void) |
全所持アイテム鑑定処理 / Identify everything being carried. [詳解] | |
int | remove_curse (player_type *caster_ptr) |
装備の軽い呪い解呪処理 / Remove most curses [詳解] | |
int | remove_all_curse (player_type *caster_ptr) |
装備の重い呪い解呪処理 / Remove all curses [詳解] | |
bool | alchemy (void) |
アイテムの価値に応じた錬金術処理 / Turns an object into gold, gain some of its value in a shop [詳解] | |
bool | artifact_scroll (void) |
アーティファクト生成の巻物処理 / [詳解] | |
bool | ident_spell (bool only_equip) |
アイテム鑑定のメインルーチン処理 / Identify an object in the p_ptr->inventory_list (or on the floor) [詳解] | |
bool | mundane_spell (bool only_equip) |
アイテム凡庸化のメインルーチン処理 / Identify an object in the p_ptr->inventory_list (or on the floor) [詳解] | |
bool | identify_item (object_type *o_ptr) |
アイテム鑑定処理 / Identify an object [詳解] | |
bool | identify_fully (bool only_equip) |
アイテム*鑑定*のメインルーチン処理 / Identify an object in the p_ptr->inventory_list (or on the floor) [詳解] | |
bool | recharge (int power) |
魔力充填処理 / Recharge a wand/staff/rod from the pack or on the floor. [詳解] | |
void | display_spell_list (player_type *caster_ptr) |
クリーチャー全既知呪文を表示する / Hack – Display all known spells in a window [詳解] | |
EXP | experience_of_spell (SPELL_IDX spell, REALM_IDX use_realm) |
呪文の経験値を返す / Returns experience of a spell [詳解] | |
MANA_POINT | mod_need_mana (MANA_POINT need_mana, SPELL_IDX spell, REALM_IDX realm) |
呪文の消費MPを返す / Modify mana consumption rate using spell exp and p_ptr->dec_mana [詳解] | |
PERCENTAGE | mod_spell_chance_1 (PERCENTAGE chance) |
呪文の失敗率修正処理1(呪い、消費魔力減少、呪文簡易化) / Modify spell fail rate Using p_ptr->to_m_chance, p_ptr->dec_mana, p_ptr->easy_spell and p_ptr->heavy_spell [詳解] | |
PERCENTAGE | mod_spell_chance_2 (PERCENTAGE chance) |
呪文の失敗率修正処理2(消費魔力減少、呪い、負値修正) / Modify spell fail rate Using p_ptr->to_m_chance, p_ptr->dec_mana, p_ptr->easy_spell and p_ptr->heavy_spell [詳解] | |
PERCENTAGE | spell_chance (player_type *caster_ptr, SPELL_IDX spell, REALM_IDX realm) |
呪文の失敗率計算メインルーチン / Returns spell chance of failure for spell -RAK- [詳解] | |
void | print_spells (player_type *caster_ptr, SPELL_IDX target_spell, SPELL_IDX *spells, int num, TERM_LEN y, TERM_LEN x, REALM_IDX realm) |
呪文情報の表示処理 / Print a list of spells (for browsing or casting or viewing) [詳解] | |
bool | polymorph_monster (player_type *caster_ptr, POSITION y, POSITION x) |
指定座標にいるモンスターを変身させる / Helper function – return a "nearby" race for polymorphing [詳解] | |
bool | dimension_door (void) |
次元の扉処理のメインルーチン / Dimension Door [詳解] | |
bool | mirror_tunnel (void) |
鏡抜け処理のメインルーチン / Mirror Master's Dimension Door [詳解] | |
void | massacre (player_type *caster_ptr) |
皆殺し(全方向攻撃)処理 [詳解] | |
bool | eat_lock (player_type *caster_ptr) |
bool | shock_power (player_type *caster_ptr) |
bool | booze (player_type *creature_ptr) |
bool | detonation (player_type *creature_ptr) |
void | blood_curse_to_enemy (MONSTER_IDX m_idx) |
bool | fire_crimson (player_type *shooter_ptr) |
クリムゾンを発射する / Fire Crimson, evoluting gun. [詳解] | |
bool | tele_town (void) |
町間のテレポートを行うメインルーチン。 [詳解] | |
変数 | |
int | cap_mon |
int | cap_mspeed |
HIT_POINT | cap_hp |
HIT_POINT | cap_maxhp |
STR_OFFSET | cap_nickname |
bool | sukekaku |
const magic_type | technic_info [NUM_TECHNIC][32] |
歌、剣術、呪術領域情報テーブル [詳解] | |
int | project_length |
投射の射程距離 [詳解] | |
#define DETECT_RAD_ALL 255 |
#define DETECT_RAD_DEFAULT 30 |
#define DETECT_RAD_MAP 30 |
#define GF_ACID 3 |
魔法効果: 酸
#define GF_ANIM_DEAD 100 |
魔法効果: 死者復活
#define GF_ARROW 11 |
魔法効果: 射撃
#define GF_ATTACK 103 |
魔法効果: 白兵
#define GF_AWAY_ALL 63 |
魔法効果: テレポート・アウェイ
#define GF_AWAY_EVIL 62 |
魔法効果: 邪悪飛ばし
#define GF_AWAY_UNDEAD 61 |
魔法効果: アンデッド・アウェイ
#define GF_BLOOD_CURSE 109 |
魔法効果: 血の呪い
#define GF_BRAIN_SMASH 93 |
魔法効果: 脳攻撃
#define GF_CAPTURE 99 |
魔法効果: 捕縛
#define GF_CAUSE_1 94 |
魔法効果: 軽傷の呪い
#define GF_CAUSE_2 95 |
魔法効果: 重傷の呪い
#define GF_CAUSE_3 96 |
魔法効果: 致命傷の呪い
#define GF_CAUSE_4 97 |
魔法効果: 秘孔を突く
#define GF_CHAOS 30 |
魔法効果: カオス
#define GF_CHARM 82 |
魔法効果: モンスター魅了
#define GF_CHARM_LIVING 101 |
魔法効果: 生命魅了
#define GF_COLD 4 |
魔法効果: 冷気
#define GF_CONFUSION 22 |
魔法効果: 混乱
#define GF_CONTROL_ANIMAL 84 |
魔法効果: 動物支配
#define GF_CONTROL_DEMON 107 |
魔法効果: 悪魔支配
#define GF_CONTROL_UNDEAD 83 |
魔法効果: アンデッド支配
#define GF_CRUSADE 114 |
魔法効果: 聖戦
#define GF_DARK 16 |
魔法効果: 暗黒
#define GF_DARK_WEAK 18 |
魔法効果: 弱暗
#define GF_DEATH_RAY 77 |
魔法効果: 死の光線
#define GF_DISENCHANT 32 |
魔法効果: 劣化
#define GF_DISINTEGRATE 81 |
魔法効果: 分解
#define GF_DISP_ALL 69 |
魔法効果: モンスター退散
#define GF_DISP_DEMON 70 |
魔法効果: 悪魔退散
#define GF_DISP_EVIL 68 |
魔法効果: 邪悪退散
#define GF_DISP_GOOD 90 |
魔法効果: 善良退散
#define GF_DISP_LIVING 71 |
魔法効果: 生命退散
#define GF_DISP_UNDEAD 67 |
魔法効果: アンデッド退散
#define GF_DOMINATION 89 |
魔法効果: 精神支配
#define GF_DRAIN_MANA 91 |
魔法効果: 魔力吸収
#define GF_ELEC 1 |
魔法効果: 電撃
#define GF_ENGETSU 104 |
魔法効果: 円月
#define GF_FIRE 5 |
魔法効果: 火炎
#define GF_FORCE 23 |
魔法効果: フォース
#define GF_GENOCIDE 105 |
魔法効果: 抹殺
#define GF_GRAVITY 35 |
魔法効果: 重力
#define GF_HAND_DOOM 98 |
魔法効果: 破滅の手
#define GF_HELL_FIRE 80 |
魔法効果: 地獄の劫火
#define GF_HOLY_FIRE 79 |
魔法効果: 聖光
#define GF_HYPODYNAMIA 58 |
魔法効果: 衰弱
#define GF_ICE 28 |
魔法効果: 極寒
#define GF_IDENTIFY 102 |
魔法効果: 鑑定
#define GF_INERTIAL 24 |
魔法効果: 遅鈍
#define GF_JAM_DOOR 88 |
魔法効果: 施錠
#define GF_KILL_DOOR 41 |
魔法効果: ドア破壊
#define GF_KILL_TRAP 42 |
魔法効果: トラップ破壊
#define GF_KILL_WALL 40 |
魔法効果: 岩石溶解
#define GF_LAVA_FLOW 108 |
魔法効果: 溶岩噴出
#define GF_LITE 15 |
魔法効果: 閃光
#define GF_LITE_WEAK 17 |
魔法効果: 弱光
#define GF_MAKE_DOOR 46 |
魔法効果: ドア生成
#define GF_MAKE_GLYPH 74 |
魔法効果: 守りのルーン生成
#define GF_MAKE_TRAP 47 |
魔法効果: トラップ生成
#define GF_MAKE_TREE 48 |
魔法効果: 森林生成
#define GF_MAKE_WALL 45 |
魔法効果: 壁生成
#define GF_MANA 26 |
魔法効果: 純粋魔力
#define GF_METEOR 27 |
魔法効果: 隕石
#define GF_MIND_BLAST 92 |
魔法効果: 精神攻撃
#define GF_MISSILE 10 |
魔法効果: 弱魔力
#define GF_NETHER 31 |
魔法効果: 地獄
#define GF_NEXUS 33 |
魔法効果: 因果混乱
#define GF_NUKE 73 |
魔法効果: 放射性廃棄物
#define GF_OLD_CLONE 51 |
魔法効果: クローン・モンスター
#define GF_OLD_CONF 56 |
魔法効果: パニック・モンスター
#define GF_OLD_HEAL 53 |
魔法効果: 回復モンスター
#define GF_OLD_POLY 52 |
魔法効果: チェンジ・モンスター
#define GF_OLD_SLEEP 57 |
魔法効果: スリープ・モンスター
#define GF_OLD_SLOW 55 |
魔法効果: スロウ・モンスター
#define GF_OLD_SPEED 54 |
魔法効果: スピード・モンスター
#define GF_PHOTO 106 |
魔法効果: 撮影
#define GF_PLASMA 12 |
魔法効果: プラズマ
#define GF_POIS 2 |
魔法効果: 毒
#define GF_PSI 85 |
魔法効果: サイキック攻撃
#define GF_PSI_DRAIN 86 |
魔法効果: 精神吸収
#define GF_PSY_SPEAR 9 |
魔法効果: 光の剣
#define GF_ROCKET 72 |
魔法効果: ロケット
#define GF_SEEKER 110 |
魔法効果: シーカーレイ
#define GF_SHARDS 20 |
魔法効果: 破片
#define GF_SOUND 21 |
魔法効果: 轟音
#define GF_STAR_HEAL 112 |
魔法効果: 星の癒し
#define GF_STASIS 75 |
魔法効果: モンスター拘束
#define GF_STASIS_EVIL 115 |
魔法効果: 邪悪拘束
#define GF_STONE_WALL 76 |
魔法効果: 壁生成
#define GF_STUN 78 |
魔法効果: 朦朧
#define GF_SUPER_RAY 111 |
魔法効果: スーパーレイ
#define GF_TELEKINESIS 87 |
魔法効果: テレキシネス
#define GF_TIME 34 |
魔法効果: 時間逆転
#define GF_TURN_ALL 66 |
魔法効果: モンスター恐慌
#define GF_TURN_EVIL 65 |
魔法効果: 邪悪恐慌
#define GF_TURN_UNDEAD 64 |
魔法効果: アンデッド恐慌
#define GF_WATER 14 |
魔法効果: 水流
#define GF_WATER_FLOW 113 |
魔法効果: 流水
#define GF_WOUNDS 116 |
魔法効果: 創傷
#define MAX_GF 117 |
#define PROJECT_WHO_GLASS_SHARDS -2 |
魔法効果の自然発生要因: 破壊されたガラス地形の破片
#define PROJECT_WHO_UNCTRL_POWER -1 |
魔法効果の自然発生要因: 名状し難い力の解放
#define SPOP_DEBUG 0x8000 |
#define SPOP_DISPLAY_MES 0x0001 |
#define SPOP_NO_UPDATE 0x0002 |
#define TELE_LEVEL_IS_INEFF | ( | TARGET | ) |
#define TELEPORT_DEC_VALOUR 0x00000004 |
#define TELEPORT_NONMAGICAL 0x00000001 |
#define TELEPORT_PASSIVE 0x00000002 |
typedef struct magic_type magic_type |
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 alchemy | ( | void | ) |
アイテムの価値に応じた錬金術処理 / Turns an object into gold, gain some of its value in a shop
void alter_reality | ( | void | ) |
現実変容処理
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 apply_disenchant | ( | player_type * | target_ptr, |
BIT_FLAGS | mode | ||
) |
プレイヤーの装備劣化処理 / Apply disenchantment to the player's stuff
mode | 最下位ビットが1ならば劣化処理が若干低減される |
bool artifact_scroll | ( | void | ) |
アーティファクト生成の巻物処理 /
bool banish_evil | ( | int | dist | ) |
視界内の邪悪なモンスターをテレポート・アウェイさせる処理 / Banish evil monsters
bool banish_monsters | ( | int | dist | ) |
モンスター追放効果(プレイヤー視界範囲内) / Banish all monsters
dist | 効力(距離) |
PERCENTAGE beam_chance | ( | void | ) |
一部ボルト魔法のビーム化確率を算出する / Prepare standard probability to become beam for fire_bolt_or_beam()
ハードコーティングによる実装が行われている。 メイジは(レベル)、ハイメイジ、スペルマスターは(レベル)、それ以外の職業は(レベル/2)%
bool binding_field | ( | player_type * | caster_ptr, |
HIT_POINT | dam | ||
) |
鏡魔法「封魔結界」の効果処理
dam | ダメージ量 |
void blood_curse_to_enemy | ( | MONSTER_IDX | m_idx | ) |
bool booze | ( | player_type * | creature_ptr | ) |
void breath_shape | ( | u16b * | path_g, |
int | dist, | ||
int * | pgrids, | ||
POSITION * | gx, | ||
POSITION * | gy, | ||
POSITION * | gm, | ||
POSITION * | pgm_rad, | ||
POSITION | rad, | ||
POSITION | y1, | ||
POSITION | x1, | ||
POSITION | y2, | ||
POSITION | x2, | ||
EFFECT_ID | typ | ||
) |
void call_chaos | ( | void | ) |
混沌招来処理
void call_the_void | ( | player_type * | caster_ptr | ) |
虚無招来処理 /
Sorry, it becomes not (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 | 効力の半径 |
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 | 効果範囲 |
邪悪なモンスターを感知する / 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 | 効果範囲 |
bool detonation | ( | player_type * | creature_ptr | ) |
bool dimension_door | ( | void | ) |
次元の扉処理のメインルーチン / Dimension Door
トラップ解除処理
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
void display_spell_list | ( | player_type * | caster_ptr | ) |
クリーチャー全既知呪文を表示する / Hack – Display all known spells in a window
caster_ptr | 術者の参照ポインタ return なし |
Need to analyze size of the window. Need more color coding.
POSITION dist_to_line | ( | POSITION | y, |
POSITION | x, | ||
POSITION | y1, | ||
POSITION | x1, | ||
POSITION | y2, | ||
POSITION | x2 | ||
) |
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 | ) |
bool eat_lock | ( | player_type * | caster_ptr | ) |
bool eat_magic | ( | player_type * | caster_ptr, |
int | power | ||
) |
魔力食い処理
power | 基本効力 |
呪文の経験値を返す / Returns experience of a spell
spell | 呪文ID |
use_realm | 魔法領域 |
void fetch | ( | player_type * | caster_ptr, |
DIRECTION | dir, | ||
WEIGHT | wgt, | ||
bool | require_los | ||
) |
アイテム引き寄せ処理 / Fetch an item (teleport it right underneath the caster)
dir | 魔法の発動方向 |
wgt | 許容重量 |
require_los | 射線の通りを要求するならばTRUE |
ボール系スペルの発動 / 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_crimson | ( | player_type * | shooter_ptr | ) |
クリムゾンを発射する / Fire Crimson, evoluting gun.
@param shooter_ptr 射撃を行うクリーチャー参照
Need to analyze size of the window. Need more color coding.
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 free_level_recall | ( | player_type * | creature_ptr | ) |
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 | 威力 |
アイテム鑑定のメインルーチン処理 / Identify an object in the p_ptr->inventory_list (or on the floor)
only_equip | 装備品のみを対象とするならばTRUEを返す |
This routine does not automatically combine objects. Returns TRUE if something was identified, else FALSE.
アイテム*鑑定*のメインルーチン処理 / Identify an object in the p_ptr->inventory_list (or on the floor)
only_equip | 装備品のみを対象とするならばTRUEを返す |
Fully "identify" an object in the p_ptr->inventory_list -BEN- This routine returns TRUE if an item was identified.
bool identify_item | ( | object_type * | o_ptr | ) |
アイテム鑑定処理 / Identify an object
o_ptr | 鑑定されるアイテムの情報参照ポインタ |
void identify_pack | ( | void | ) |
全所持アイテム鑑定処理 / Identify everything being carried.
Done by a potion of "self knowledge".
プレイヤー位置を中心に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 |
void massacre | ( | player_type * | caster_ptr | ) |
皆殺し(全方向攻撃)処理
py | プレイヤーY座標 |
px | プレイヤーX座標 |
モンスター精神攻撃効果(プレイヤー視界範囲内) / Mindblast monsters
dam | 効力 |
bool mirror_concentration | ( | player_type * | creature_ptr | ) |
bool mirror_tunnel | ( | void | ) |
鏡抜け処理のメインルーチン / Mirror Master's Dimension Door
MANA_POINT mod_need_mana | ( | MANA_POINT | need_mana, |
SPELL_IDX | spell, | ||
REALM_IDX | realm | ||
) |
呪文の消費MPを返す / Modify mana consumption rate using spell exp and p_ptr->dec_mana
need_mana | 基本消費MP |
spell | 呪文ID |
realm | 魔法領域 |
PERCENTAGE mod_spell_chance_1 | ( | PERCENTAGE | chance | ) |
呪文の失敗率修正処理1(呪い、消費魔力減少、呪文簡易化) / Modify spell fail rate Using p_ptr->to_m_chance, p_ptr->dec_mana, p_ptr->easy_spell and p_ptr->heavy_spell
chance | 修正前失敗率 |
PERCENTAGE mod_spell_chance_2 | ( | PERCENTAGE | chance | ) |
呪文の失敗率修正処理2(消費魔力減少、呪い、負値修正) / Modify spell fail rate Using p_ptr->to_m_chance, p_ptr->dec_mana, p_ptr->easy_spell and p_ptr->heavy_spell
chance | 修正前失敗率 |
アイテム凡庸化のメインルーチン処理 / Identify an object in the p_ptr->inventory_list (or on the floor)
only_equip | 装備品のみを対象とするならばTRUEを返す |
Mundanify an object in the p_ptr->inventory_list (or on the floor) This routine does *not* automatically combine objects. Returns TRUE if something was mundanified, else FALSE.
bool panic_hit | ( | void | ) |
bool polymorph_monster | ( | player_type * | caster_ptr, |
POSITION | y, | ||
POSITION | x | ||
) |
指定座標にいるモンスターを変身させる / Helper function – return a "nearby" race for polymorphing
y | 指定のY座標 |
x | 指定のX座標 |
void print_spells | ( | player_type * | caster_ptr, |
SPELL_IDX | target_spell, | ||
SPELL_IDX * | spells, | ||
int | num, | ||
TERM_LEN | y, | ||
TERM_LEN | x, | ||
REALM_IDX | use_realm | ||
) |
呪文情報の表示処理 / Print a list of spells (for browsing or casting or viewing)
target_spell | 呪文ID |
caster_ptr | 術者の参照ポインタ |
spells | 表示するスペルID配列の参照ポインタ |
num | 表示するスペルの数(spellsの要素数) |
y | 表示メッセージ左上Y座標 |
x | 表示メッセージ左上X座標 |
use_realm | 魔法領域ID |
bool probing | ( | void | ) |
周辺モンスターを調査する / Probe nearby monsters
bool project | ( | MONSTER_IDX | who, |
POSITION | rad, | ||
POSITION | y, | ||
POSITION | x, | ||
HIT_POINT | dam, | ||
EFFECT_ID | typ, | ||
BIT_FLAGS | flg, | ||
int | monspell | ||
) |
汎用的なビーム/ボルト/ボール系処理のルーチン Generic "beam"/"bolt"/"ball" projection routine.
who | 魔法を発動したモンスター(0ならばプレイヤー) / Index of "source" monster (zero for "player") |
rad | 効果半径(ビーム/ボルト = 0 / ボール = 1以上) / Radius of explosion (0 = beam/bolt, 1 to 9 = ball) |
y | 目標Y座標 / Target y location (or location to travel "towards") |
x | 目標X座標 / Target x location (or location to travel "towards") |
dam | 基本威力 / Base damage roll to apply to affected monsters (or player) |
typ | 効果属性 / Type of damage to apply to monsters (and objects) |
flg | 効果フラグ / Extra bit flags (see PROJECT_xxxx) |
monspell | 効果元のモンスター魔法ID |
Allows a monster (or player) to project a beam/bolt/ball of a given kind towards a given location (optionally passing over the heads of interposing monsters), and have it do a given amount of damage to the monsters (and optionally objects) within the given radius of the final location.
A "bolt" travels from source to target and affects only the target grid. A "beam" travels from source to target, affecting all grids passed through. A "ball" travels from source to the target, exploding at the target, and affecting everything within the given radius of the target location.
Traditionally, a "bolt" does not affect anything on the ground, and does not pass over the heads of interposing monsters, much like a traditional missile, and will "stop" abruptly at the "target" even if no monster is positioned there, while a "ball", on the other hand, passes over the heads of monsters between the source and target, and affects everything except the source monster which lies within the final radius, while a "beam" affects every monster between the source and target, except for the casting monster (or player), and rarely affects things on the ground.
Two special flags allow us to use this function in special ways, the "PROJECT_HIDE" flag allows us to perform "invisible" projections, while the "PROJECT_JUMP" flag allows us to affect a specific grid, without actually projecting from the source monster (or player).
The player will only get "experience" for monsters killed by himself Unique monsters can only be destroyed by attacks from the player
Only 256 grids can be affected per projection, limiting the effective "radius" of standard ball attacks to nine units (diameter nineteen).
One can project in a given "direction" by combining PROJECT_THRU with small offsets to the initial location (see "line_spell()"), or by calculating "virtual targets" far away from the player.
One can also use PROJECT_THRU to send a beam/bolt along an angled path, continuing until it actually hits somethings (useful for "stone to mud").
Bolts and Beams explode INSIDE walls, so that they can destroy doors.
Balls must explode BEFORE hitting walls, or they would affect monsters on both sides of a wall. Some bug reports indicate that this is still happening in 2.7.8 for Windows, though it appears to be impossible.
We "pre-calculate" the blast area only in part for efficiency. More importantly, this lets us do "explosions" from the "inside" out. This results in a more logical distribution of "blast" treasure. It also produces a better (in my opinion) animation of the explosion. It could be (but is not) used to have the treasure dropped by monsters in the middle of the explosion fall "outwards", and then be damaged by the blast as it spreads outwards towards the treasure drop location.
Walls and doors are included in the blast area, so that they can be "burned" or "melted" in later versions.
This algorithm is intended to maximize simplicity, not necessarily efficiency, since this function is not a bottleneck in the code.
We apply the blast effect from ground zero outwards, in several passes, first affecting features, then objects, then monsters, then the player. This allows walls to be removed before checking the object or monster in the wall, and protects objects which are dropped by monsters killed in the blast, and allows the player to see all affects before he is killed or teleported away. The semantics of this method are open to various interpretations, but they seem to work well in practice.
We process the blast area from ground-zero outwards to allow for better distribution of treasure dropped by monsters, and because it provides a pleasing visual effect at low cost.
Note that the damage done by "ball" explosions decreases with distance. This decrease is rapid, grids at radius "dist" take "1/dist" damage.
Notice the "napalm" effect of "beam" weapons. First they "project" to the target, and then the damage "flows" along this beam of destruction. The damage at every grid is the same as at the "center" of a "ball" explosion, since the "beam" grids are treated as if they ARE at the center of a "ball" explosion.
Currently, specifying "beam" plus "ball" means that locations which are covered by the initial "beam", and also covered by the final "ball", except for the final grid (the epicenter of the ball), will be "hit twice", once by the initial beam, and once by the exploding ball. For the grid right next to the epicenter, this results in 150% damage being done. The center does not have this problem, for the same reason the final grid in a "beam" plus "bolt" does not -- it is explicitly removed. Simply removing "beam" grids which are covered by the "ball" will NOT work, as then they will receive LESS damage than they should. Do not combine "beam" with "ball".
The array "gy[],gx[]" with current size "grids" is used to hold the collected locations of all grids in the "blast area" plus "beam path".
Note the rather complex usage of the "gm[]" array. First, gm[0] is always zero. Second, for N>1, gm[N] is always the index (in gy[],gx[]) of the first blast grid (see above) with radius "N" from the blast center. Note that only the first gm[1] grids in the blast area thus take full damage. Also, note that gm[rad+1] is always equal to "grids", which is the total number of blast grids.
Note that once the projection is complete, (y2,x2) holds the final location of bolts/beams, and the "epicenter" of balls.
Note also that "rad" specifies the "inclusive" radius of projection blast, so that a "rad" of "one" actually covers 5 or 9 grids, depending on the implementation of the "distance" function. Also, a bolt can be properly viewed as a "ball" with a "rad" of "zero".
Note that if no "target" is reached before the beam/bolt/ball travels the maximum distance allowed (MAX_RANGE), no "blast" will be induced. This may be relevant even for bolts, since they have a "1x1" mini-blast.
Note that for consistency, we "pretend" that the bolt actually takes "time" to move from point A to point B, even if the player cannot see part of the projection path. Note that in general, the player will *always* see part of the path, since it either starts at the player or ends on the player.
Hack -- we assume that every "projection" is "self-illuminating".
Hack -- when only a single monster is affected, we automatically track (and recall) that monster, unless "PROJECT_JUMP" is used.
Note that all projections now "explode" at their final destination, even if they were being projected at a more distant destination. This means that "ball" spells will *always* explode.
Note that we must call "handle_stuff()" after affecting terrain features in the blast radius, in case the "illumination" of the grid was changed, and "update_view()" and "update_monsters()" need to be called.
視界内モンスターに魔法効果を与える / 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)
bool recall_player | ( | player_type * | creature_ptr, |
TIME_EFFECT | turns | ||
) |
プレイヤーの帰還発動及び中止処理 / Recall the player to town or dungeon
turns | 発動までのターン数 |
bool recharge | ( | int | power | ) |
魔力充填処理 / Recharge a wand/staff/rod from the pack or on the floor.
This function has been rewritten in Oangband and ZAngband.
power | 充填パワー |
Sorcery/Arcane – Recharge --> recharge(plev * 4) Chaos – Arcane Binding --> recharge(90)
Scroll of recharging --> recharge(130) Artifact activation/Thingol --> recharge(130)
It is harder to recharge high level, and highly charged wands, staffs, and rods. The more wands in a stack, the more easily and strongly they recharge. Staffs, however, each get fewer charges if stacked.
Beware of "sliding index errors".
int remove_all_curse | ( | player_type * | caster_ptr | ) |
装備の重い呪い解呪処理 / Remove all curses
void remove_all_mirrors | ( | bool | explode | ) |
全鏡の消去 / Remove all mirrors in this floor
explode | 爆発処理を伴うならばTRUE |
int remove_curse | ( | player_type * | caster_ptr | ) |
装備の軽い呪い解呪処理 / Remove most curses
bool reset_recall | ( | void | ) |
フロア・リセット処理
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 | 目標モンスターが死亡したかを返す |
void seal_of_mirror | ( | HIT_POINT | dam | ) |
鏡魔法「鏡の封印」の効果処理
dam | ダメージ量 |
bool shock_power | ( | player_type * | caster_ptr | ) |
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
concptr spell_category_name | ( | OBJECT_TYPE_VALUE | tval | ) |
領域魔法に応じて技能の名称を返す。
tval | 魔法書のtval |
PERCENTAGE spell_chance | ( | player_type * | caster_ptr, |
SPELL_IDX | spell, | ||
REALM_IDX | use_realm | ||
) |
呪文の失敗率計算メインルーチン / Returns spell chance of failure for spell -RAK-
spell | 呪文ID |
use_realm | 魔法領域ID |
モンスター停止効果(プレイヤー視界範囲内) / 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 |
bool tele_town | ( | void | ) |
町間のテレポートを行うメインルーチン。
bool teleport_away | ( | player_type * | caster_ptr, |
MONSTER_IDX | m_idx, | ||
POSITION | dis, | ||
BIT_FLAGS | mode | ||
) |
モンスターのテレポートアウェイ処理 / Teleport a monster, normally up to "dis" grids away.
m_idx | モンスターID |
dis | テレポート距離 |
mode | オプション |
Attempt to move the monster at least "dis/2" grids away. But allow variation to prevent infinite loops.
void teleport_away_followable | ( | MONSTER_IDX | m_idx | ) |
void teleport_level | ( | player_type * | creature_ptr, |
MONSTER_IDX | m_idx | ||
) |
プレイヤー及びモンスターをレベルテレポートさせる / Teleport the player one level up or down (random when legal)
m_idx | テレポートの対象となるモンスターID(0ならばプレイヤー) / If m_idx <= 0, target is player. |
bool teleport_level_other | ( | player_type * | creature_ptr | ) |
モンスター用テレポート処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
distance | 移動距離 |
void teleport_monster_to | ( | MONSTER_IDX | m_idx, |
POSITION | ty, | ||
POSITION | tx, | ||
int | power, | ||
BIT_FLAGS | mode | ||
) |
モンスターを指定された座標付近にテレポートする / Teleport monster next to a grid near the given location
m_idx | モンスターID |
ty | 目安Y座標 |
tx | 目安X座標 |
power | テレポート成功確率 |
mode | オプション |
プレイヤーのテレポート処理メインルーチン
dis | 基本移動距離 |
mode | オプション |
bool teleport_player_aux | ( | player_type * | creature_ptr, |
POSITION | dis, | ||
BIT_FLAGS | mode | ||
) |
プレイヤーのテレポート先選定と移動処理 / Teleport the player to a location up to "dis" grids away.
dis | 基本移動距離 |
mode | オプション |
If no such spaces are readily available, the distance may increase. Try very hard to move the player at least a quarter that distance.
There was a nasty tendency for a long time; which was causing the player to "bounce" between two or three different spots because these are the only spots that are "far enough" way to satisfy the algorithm.
But this tendency is now removed; in the new algorithm, a list of candidates is selected first, which includes at least 50% of all floor grids within the distance, and any single grid in this list of candidates has equal possibility to be choosen as a destination.
void teleport_player_away | ( | MONSTER_IDX | m_idx, |
POSITION | dis | ||
) |
プレイヤーのテレポートアウェイ処理 /
m_idx | アウェイを試みたプレイヤーID |
dis | テレポート距離 |
void teleport_player_to | ( | player_type * | creature_ptr, |
POSITION | ny, | ||
POSITION | nx, | ||
BIT_FLAGS | mode | ||
) |
プレイヤーを指定位置近辺にテレポートさせる Teleport player to a grid near the given location
ny | 目標Y座標 |
nx | 目標X座標 |
mode | オプションフラグ |
This function is slightly obsessive about correctness. This function allows teleporting into vaults (!)
モンスターとの位置交換処理 / 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 |
魔法の施錠処理
dir | 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする) |
HIT_POINT cap_hp |
HIT_POINT cap_maxhp |
int cap_mon |
int cap_mspeed |
STR_OFFSET cap_nickname |
int project_length |
投射の射程距離
bool sukekaku |
const magic_type technic_info[NUM_TECHNIC][32] |
歌、剣術、呪術領域情報テーブル