* "(FAKE_VER_MAJOR-10).(FAKE_VER_MINOR).(FAKE_VER_PATCH)".
* </pre>
*/
-#define FAKE_VERSION 0
+#define FAKE_VERSION 0
#define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
-#define FAKE_VER_MINOR 1 /*!< ゲームのバージョン番号定義(マイナー番号) */
-#define FAKE_VER_PATCH 5 /*!< ゲームのバージョン番号定義(パッチ番号) */
+#define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
+#define FAKE_VER_PATCH 1 /*!< ゲームのバージョン番号定義(パッチ番号) */
+#define FAKE_VER_EXTRA 7 /*!< ゲームのバージョン番号定義(エクストラ番号) */
+ /*!
+ * @brief バージョンが開発版が安定版かを返す
+ */
+#define IS_STABLE_VERSION (FAKE_VER_MINOR % 2 == 0 && FAKE_VER_EXTRA == 0)
+
/*!
* @brief セーブファイル上のバージョン定義(メジャー番号) / "Savefile Version Number" for Hengband 1.1.1 and later
* @details
+ * 当面FAKE_VER_*を参照しておく。
* <pre>
* First three digits may be same as the Program Version. But not
* always same. It means that newer version may preserves lower
* Upper compatibility is always guaranteed.
* </pre>
*/
-#define H_VER_MAJOR 2
-#define H_VER_MINOR 1 /*!< セーブファイル上のバージョン定義(マイナー番号) */
-#define H_VER_PATCH 2 /*!< セーブファイル上のバージョン定義(パッチ番号) */
-#define H_VER_EXTRA 4 /*!< セーブファイル上のバージョン定義(エクストラ番号) */
+#define H_VER_MAJOR (FAKE_VER_MAJOR-10) /*!< セーブファイル上のバージョン定義(メジャー番号) */
+#define H_VER_MINOR FAKE_VER_MINOR /*!< セーブファイル上のバージョン定義(マイナー番号) */
+#define H_VER_PATCH FAKE_VER_PATCH /*!< セーブファイル上のバージョン定義(パッチ番号) */
+#define H_VER_EXTRA FAKE_VER_EXTRA /*!< セーブファイル上のバージョン定義(エクストラ番号) */
#define ANGBAND_2_8_1 /*!< Angband 2.8.1以降から有効な処理分岐を定義 */
#define ZANGBAND /*!< Zangband 以降から有効な処理分岐を定義 */
* @brief generate.cで用いられる基本的なブロック数単位(垂直方向)
* Number of grids in each block (vertically) Probably hard-coded to 11, see "generate.c"
*/
-#define BLOCK_HGT 11
+#define BLOCK_HGT 11
/*!
* @brief generate.cで用いられる基本的なブロック数単位(水平方向)
* Number of grids in each block (horizontally) Probably hard-coded to 11, see "generate.c"
*/
-#define BLOCK_WID 11
+#define BLOCK_WID 11
/*!
* @brief 表示上の基本的なパネル単位(垂直方向、BLOCK_HGTの倍数で設定すること)
* Number of grids in each panel (vertically) Must be a multiple of BLOCK_HGT
*/
-#define PANEL_HGT 11
+#define PANEL_HGT 11
/*!
* @brief 表示上の基本的なパネル単位(水平方向、BLOCK_WIDの倍数で設定すること)
* Number of grids in each panel (horizontally) Must be a multiple of BLOCK_WID
*/
-#define PANEL_WID 33
+#define PANEL_WID 33
/*!
* @brief 表示上の基本的なブロック単位(垂直方向、PANEL_HGTの倍数で設定すること)
* Number of grids used to display the dungeon (vertically). Must be a multiple of 11, probably hard-coded to 22.
*/
-#define SCREEN_HGT 22
+#define SCREEN_HGT 22
/*!
* @brief 表示上の基本的なブロック単位(水平方向、PANEL_WIDの倍数で設定すること)
* Number of grids used to display the dungeon (horizontally). Must be a multiple of 33, probably hard-coded to 66.
*/
-#define SCREEN_WID 66
+#define SCREEN_WID 66
/*!
* @brief 表示上のダンジョンの最大垂直サイズ(SCREEN_HGTの3倍が望ましい)
* Maximum dungeon height in grids, must be a multiple of SCREEN_HGT, probably hard-coded to SCREEN_HGT * 3.
*/
-#define MAX_HGT 66
+#define MAX_HGT 66
/*!
* @brief 表示上のダンジョンの最大水平サイズ(SCREEN_WIDの3倍が望ましい)
* Maximum dungeon width in grids, must be a multiple of SCREEN_WID, probably hard-coded to SCREEN_WID * 3.
*/
-#define MAX_WID 198
+#define MAX_WID 198
/*
* Quest constants
*/
-#define MIN_RANDOM_QUEST 40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */
-#define MAX_RANDOM_QUEST 49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */
+#define MIN_RANDOM_QUEST 40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */
+#define MAX_RANDOM_QUEST 49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */
/*!
* @brief 該当IDが固定クエストかどうかを判定する / Check is the quest index is "fixed"
*/
#define is_fixed_quest_idx(Q_IDX) (((Q_IDX) < MIN_RANDOM_QUEST) || ((Q_IDX) > MAX_RANDOM_QUEST))
-#define QUEST_TOWER1 5 /*<! 塔クエスト(第1階層)に割り振るクエストID */
-#define QUEST_TOWER2 6 /*<! 塔クエスト(第2階層)に割り振るクエストID */
-#define QUEST_TOWER3 7 /*<! 塔クエスト(第3階層)に割り振るクエストID */
-#define QUEST_OBERON 8 /*<! オベロン打倒クエストに割り振るクエストID */
-#define QUEST_SERPENT 9 /*<! サーペント打倒クエストに割り振るクエストID */
+#define QUEST_TOWER1 5 /*<! 塔クエスト(第1階層)に割り振るクエストID */
+#define QUEST_TOWER2 6 /*<! 塔クエスト(第2階層)に割り振るクエストID */
+#define QUEST_TOWER3 7 /*<! 塔クエスト(第3階層)に割り振るクエストID */
+#define QUEST_OBERON 8 /*<! オベロン打倒クエストに割り振るクエストID */
+#define QUEST_SERPENT 9 /*<! サーペント打倒クエストに割り振るクエストID */
/*
* Arena constants
*/
-#define MAX_ARENA_MONS 41 /* -KMW- */
-#define ARENA_DEFEATED_OLD_VER (-(MAX_SHORT))
+#define MAX_ARENA_MONS 41 /*<! 闘技場のイベント件数 -KMW- */
+#define ARENA_DEFEATED_OLD_VER (-(MAX_SHORT)) /*<! 旧バージョンの闘技場敗北定義 */
-#define MAX_STORES 10 /*!< store.c用の店舗の種類最大数 / Total number of stores (see "store.c", etc) */
-#define MAX_BLDG 32 /*!< 施設の種類最大数 / Number of buildings */
+#define MAX_STORES 10 /*!< store.c用の店舗の種類最大数 / Total number of stores (see "store.c", etc) */
+#define MAX_BLDG 32 /*!< 施設の種類最大数 / Number of buildings */
/*
* Store types
#define MAX_OWNERS 32 /*!< 各店舗毎の店主定義最大数 / Total number of owners per store (see "store.c", etc) */
#define MAX_SEXES 2 /*!< 性別の定義最大数 / Maximum number of player "sex" types (see "table.c", etc) */
#define MAX_CLASS 28 /*!< 職業の最大定義数 Maximum number of player "class" types (see "table.c", etc) */
-#define MAX_SEIKAKU 12 /*!< 性格の最大定義数 */
+#define MAX_SEIKAKU 13 /*!< 性格の最大定義数 */
#define MAX_PATRON 16 /*!< カオスパトロンの最大定義数 / The number of "patrons" available (for Chaos Warriors) */
/* ELDRITCH_HORRORによるsanity blast処理に関するメッセージの最大数 / Number of entries in the sanity-blast descriptions */
#define MAX_SAN_FUNNY 22 /*!< 恐ろしい対象の形容数(幻覚時) */
#define MAX_SAN_COMMENT 5 /*!< 恐ろしい対象を見たときの絶叫メッセージ数(幻覚時) */
-/* カオスパトロンからの報酬種別定義 / Chaos Warrior: Reward types: */
-#define REW_POLY_SLF 1 /*!< カオスパトロンからの報酬: 自己変容 */
-#define REW_GAIN_EXP 2 /*!< カオスパトロンからの報酬: 経験値増加 */
-#define REW_LOSE_EXP 3 /*!< カオスパトロンからの報酬: 経験値減少 */
-#define REW_GOOD_OBJ 4 /*!< カオスパトロンからの報酬: GOODなアイテム単体の下賜 */
-#define REW_GREA_OBJ 5 /*!< カオスパトロンからの報酬: GREATなアイテム単体の下賜 */
-#define REW_CHAOS_WP 6 /*!< カオスパトロンからの報酬: 混沌武器の下賜 */
-#define REW_GOOD_OBS 7 /*!< カオスパトロンからの報酬: GOODなアイテム複数の下賜 */
-#define REW_GREA_OBS 8 /*!< カオスパトロンからの報酬: GREATなアイテム複数の下賜 */
-#define REW_TY_CURSE 9 /*!< カオスパトロンからの報酬: 太古の怨念 */
-#define REW_SUMMON_M 10 /*!< カオスパトロンからの報酬: 敵対的なモンスターの召喚(通常) */
-#define REW_H_SUMMON 11 /*!< カオスパトロンからの報酬: 敵対的なモンスターの召喚(hi-summon) */
-#define REW_DO_HAVOC 12 /*!< カオスパトロンからの報酬: 混沌招来 */
-#define REW_GAIN_ABL 13 /*!< カオスパトロンからの報酬: 増強 */
-#define REW_LOSE_ABL 14 /*!< カオスパトロンからの報酬: 1能力低下 */
-#define REW_RUIN_ABL 15 /*!< カオスパトロンからの報酬: 全能力低下 */
-#define REW_AUGM_ABL 16 /*!< カオスパトロンからの報酬: 1能力上昇 */
-#define REW_POLY_WND 17 /*!< カオスパトロンからの報酬: 傷の変化 */
-#define REW_HEAL_FUL 18 /*!< カオスパトロンからの報酬: 完全回復 */
-#define REW_HURT_LOT 19 /*!< カオスパトロンからの報酬: 分解の球によるダメージ */
-#define REW_CURSE_WP 20 /*!< カオスパトロンからの報酬: 武器呪縛 */
-#define REW_CURSE_AR 21 /*!< カオスパトロンからの報酬: 防具呪縛 */
-#define REW_PISS_OFF 22 /*!< カオスパトロンからの報酬: 苛立ち */
-#define REW_WRATH 23 /*!< カオスパトロンからの報酬: 怒り */
-#define REW_DESTRUCT 24 /*!< カオスパトロンからの報酬: *破壊* */
-#define REW_GENOCIDE 25 /*!< カオスパトロンからの報酬: シンボル抹殺 */
-#define REW_MASS_GEN 26 /*!< カオスパトロンからの報酬: 周辺抹殺 */
-#define REW_DISPEL_C 27 /*!< カオスパトロンからの報酬: モンスター退散 */
-#define REW_UNUSED_1 28 /*!< カオスパトロンからの報酬: 未使用 */
-#define REW_UNUSED_2 29 /*!< カオスパトロンからの報酬: 未使用 */
-#define REW_UNUSED_3 30 /*!< カオスパトロンからの報酬: 未使用 */
-#define REW_UNUSED_4 31 /*!< カオスパトロンからの報酬: 未使用 */
-#define REW_UNUSED_5 32 /*!< カオスパトロンからの報酬: 未使用 */
-#define REW_IGNORE 33 /*!< カオスパトロンからの報酬: 無視 */
-#define REW_SER_UNDE 34 /*!< カオスパトロンからの報酬: アンデッドの下僕下賜 */
-#define REW_SER_DEMO 35 /*!< カオスパトロンからの報酬: 悪魔の下僕下賜 */
-#define REW_SER_MONS 36 /*!< カオスパトロンからの報酬: モンスターの下僕下賜 */
/* カオスの変異 / Chaos mutations */
-/* レイシャル型の変異 / "Activatable" mutations must be in MUT1_* */
-#define MUT1_SPIT_ACID 0x00000001L /*!< 突然変異: 酸の唾 */
-#define MUT1_BR_FIRE 0x00000002L /*!< 突然変異: 炎のブレス */
-#define MUT1_HYPN_GAZE 0x00000004L /*!< 突然変異: 催眠睨み */
-#define MUT1_TELEKINES 0x00000008L /*!< 突然変異: 念動力 */
-#define MUT1_VTELEPORT 0x00000010L /*!< 突然変異: テレポート / Voluntary teleport */
-#define MUT1_MIND_BLST 0x00000020L /*!< 突然変異: 精神攻撃 */
-#define MUT1_RADIATION 0x00000040L /*!< 突然変異: 放射能 */
-#define MUT1_VAMPIRISM 0x00000080L /*!< 突然変異: 吸血ドレイン */
-#define MUT1_SMELL_MET 0x00000100L /*!< 突然変異: 金属嗅覚 */
-#define MUT1_SMELL_MON 0x00000200L /*!< 突然変異: 敵臭嗅覚 */
-#define MUT1_BLINK 0x00000400L /*!< 突然変異: ショート・テレポート */
-#define MUT1_EAT_ROCK 0x00000800L /*!< 突然変異: 岩喰い */
-#define MUT1_SWAP_POS 0x00001000L /*!< 突然変異: 位置交換 */
-#define MUT1_SHRIEK 0x00002000L /*!< 突然変異: 叫び */
-#define MUT1_ILLUMINE 0x00004000L /*!< 突然変異: 照明 */
-#define MUT1_DET_CURSE 0x00008000L /*!< 突然変異: 呪い感知 */
-#define MUT1_BERSERK 0x00010000L /*!< 突然変異: 狂戦士化 */
-#define MUT1_POLYMORPH 0x00020000L /*!< 突然変異: 変身 */
-#define MUT1_MIDAS_TCH 0x00040000L /*!< 突然変異: ミダスの手 */
-#define MUT1_GROW_MOLD 0x00080000L /*!< 突然変異: カビ発生 */
-#define MUT1_RESIST 0x00100000L /*!< 突然変異: エレメント耐性 */
-#define MUT1_EARTHQUAKE 0x00200000L /*!< 突然変異: 地震 */
-#define MUT1_EAT_MAGIC 0x00400000L /*!< 突然変異: 魔力喰い */
-#define MUT1_WEIGH_MAG 0x00800000L /*!< 突然変異: 魔力感知 */
-#define MUT1_STERILITY 0x01000000L /*!< 突然変異: 増殖阻止 */
-#define MUT1_PANIC_HIT 0x02000000L /*!< 突然変異: ヒットアンドアウェイ */
-#define MUT1_DAZZLE 0x04000000L /*!< 突然変異: 眩惑 */
-#define MUT1_LASER_EYE 0x08000000L /*!< 突然変異: レーザー・アイ */
-#define MUT1_RECALL 0x10000000L /*!< 突然変異: 帰還 */
-#define MUT1_BANISH 0x20000000L /*!< 突然変異: 邪悪消滅 */
-#define MUT1_COLD_TOUCH 0x40000000L /*!< 突然変異: 凍結の手 */
-#define MUT1_LAUNCHER 0x80000000L /*!< 突然変異: アイテム投げ */
-
-/* 常時効果つきの変異1 / Randomly activating mutations must be MUT2_* */
-#define MUT2_BERS_RAGE 0x00000001L /*!< 突然変異: 狂戦士化の発作 */
-#define MUT2_COWARDICE 0x00000002L /*!< 突然変異: 臆病 */
-#define MUT2_RTELEPORT 0x00000004L /*!< 突然変異: ランダムテレポート / Random teleport, instability */
-#define MUT2_ALCOHOL 0x00000008L /*!< 突然変異: アルコール分泌 */
-#define MUT2_HALLU 0x00000010L /*!< 突然変異: 幻覚を引き起こす精神錯乱 */
-#define MUT2_FLATULENT 0x00000020L /*!< 突然変異: 猛烈な屁 */
-#define MUT2_SCOR_TAIL 0x00000040L /*!< 突然変異: サソリの尻尾 */
-#define MUT2_HORNS 0x00000080L /*!< 突然変異: ツノ */
-#define MUT2_BEAK 0x00000100L /*!< 突然変異: クチバシ */
-#define MUT2_ATT_DEMON 0x00000200L /*!< 突然変異: デーモンを引き付ける */
-#define MUT2_PROD_MANA 0x00000400L /*!< 突然変異: 制御できない魔力のエネルギー */
-#define MUT2_SPEED_FLUX 0x00000800L /*!< 突然変異: ランダムな加減速 */
-#define MUT2_BANISH_ALL 0x00001000L /*!< 突然変異: ランダムなモンスター消滅 */
-#define MUT2_EAT_LIGHT 0x00002000L /*!< 突然変異: 光源喰い */
-#define MUT2_TRUNK 0x00004000L /*!< 突然変異: 象の鼻 */
-#define MUT2_ATT_ANIMAL 0x00008000L /*!< 突然変異: 動物を引き寄せる */
-#define MUT2_TENTACLES 0x00010000L /*!< 突然変異: 邪悪な触手 */
-#define MUT2_RAW_CHAOS 0x00020000L /*!< 突然変異: 純カオス */
-#define MUT2_NORMALITY 0x00040000L /*!< 突然変異: ランダムな変異の消滅 */
-#define MUT2_WRAITH 0x00080000L /*!< 突然変異: ランダムな幽体化 */
-#define MUT2_POLY_WOUND 0x00100000L /*!< 突然変異: ランダムな傷の変化 */
-#define MUT2_WASTING 0x00200000L /*!< 突然変異: 衰弱 */
-#define MUT2_ATT_DRAGON 0x00400000L /*!< 突然変異: ドラゴンを引き寄せる */
-#define MUT2_WEIRD_MIND 0x00800000L /*!< 突然変異: ランダムなテレパシー */
-#define MUT2_NAUSEA 0x01000000L /*!< 突然変異: 落ち着きの無い胃 */
-#define MUT2_CHAOS_GIFT 0x02000000L /*!< 突然変異: カオスパトロン */
-#define MUT2_WALK_SHAD 0x04000000L /*!< 突然変異: ランダムな現実変容 */
-#define MUT2_WARNING 0x08000000L /*!< 突然変異: 警告 */
-#define MUT2_INVULN 0x10000000L /*!< 突然変異: ランダムな無敵化 */
-#define MUT2_SP_TO_HP 0x20000000L /*!< 突然変異: ランダムなMPからHPへの変換 */
-#define MUT2_HP_TO_SP 0x40000000L /*!< 突然変異: ランダムなHPからMPへの変換 */
-#define MUT2_DISARM 0x80000000L /*!< 突然変異: ランダムな武器落とし */
-
-
-/* 常時効果つきの変異2 / Other mutations will be mainly in MUT3_* */
-#define MUT3_HYPER_STR 0x00000001L /*!< 突然変異: 超人的な力 */
-#define MUT3_PUNY 0x00000002L /*!< 突然変異: 虚弱 */
-#define MUT3_HYPER_INT 0x00000004L /*!< 突然変異: 生体コンピュータ */
-#define MUT3_MORONIC 0x00000008L /*!< 突然変異: 精神薄弱 */
-#define MUT3_RESILIENT 0x00000010L /*!< 突然変異: 弾力のある体 */
-#define MUT3_XTRA_FAT 0x00000020L /*!< 突然変異: 異常な肥満 */
-#define MUT3_ALBINO 0x00000040L /*!< 突然変異: アルビノ */
-#define MUT3_FLESH_ROT 0x00000080L /*!< 突然変異: 腐敗した肉体 */
-#define MUT3_SILLY_VOI 0x00000100L /*!< 突然変異: 間抜けなキーキー声 */
-#define MUT3_BLANK_FAC 0x00000200L /*!< 突然変異: のっぺらぼう */
-#define MUT3_ILL_NORM 0x00000400L /*!< 突然変異: 幻影に覆われた体 */
-#define MUT3_XTRA_EYES 0x00000800L /*!< 突然変異: 第三の目 */
-#define MUT3_MAGIC_RES 0x00001000L /*!< 突然変異: 魔法防御 */
-#define MUT3_XTRA_NOIS 0x00002000L /*!< 突然変異: 騒音 */
-#define MUT3_INFRAVIS 0x00004000L /*!< 突然変異: 赤外線視力 */
-#define MUT3_XTRA_LEGS 0x00008000L /*!< 突然変異: 追加の脚 */
-#define MUT3_SHORT_LEG 0x00010000L /*!< 突然変異: 短い脚 */
-#define MUT3_ELEC_TOUC 0x00020000L /*!< 突然変異: 電撃オーラ */
-#define MUT3_FIRE_BODY 0x00040000L /*!< 突然変異: 火炎オーラ */
-#define MUT3_WART_SKIN 0x00080000L /*!< 突然変異: イボ肌 */
-#define MUT3_SCALES 0x00100000L /*!< 突然変異: 鱗肌 */
-#define MUT3_IRON_SKIN 0x00200000L /*!< 突然変異: 鉄の肌 */
-#define MUT3_WINGS 0x00400000L /*!< 突然変異: 翼 */
-#define MUT3_FEARLESS 0x00800000L /*!< 突然変異: 恐れ知らず */
-#define MUT3_REGEN 0x01000000L /*!< 突然変異: 急回復 */
-#define MUT3_ESP 0x02000000L /*!< 突然変異: テレパシー */
-#define MUT3_LIMBER 0x04000000L /*!< 突然変異: しなやかな肉体 */
-#define MUT3_ARTHRITIS 0x08000000L /*!< 突然変異: 間接の痛み */
-#define MUT3_BAD_LUCK 0x10000000L /*!< 突然変異: 黒いオーラ(不運) */
-#define MUT3_VULN_ELEM 0x20000000L /*!< 突然変異: 元素攻撃弱点 */
-#define MUT3_MOTION 0x40000000L /*!< 突然変異: 正確で力強い動作 */
-#define MUT3_GOOD_LUCK 0x80000000L /*!< 突然変異: 白いオーラ(幸運) */
-
-
-
-# define MAX_MA 17 /*!< 修行僧マーシャルアーツの技数 / Monk martial arts... */
-# define MA_KNEE 1 /*!< 金的効果ID */
-# define MA_SLOW 2 /*!< 膝蹴り効果ID */
+
+#define MAX_MA 17 /*!< 修行僧マーシャルアーツの技数 / Monk martial arts... */
+#define MA_KNEE 1 /*!< 金的効果ID */
+#define MA_SLOW 2 /*!< 膝蹴り効果ID */
#define MAX_MIND_POWERS 21 /*!< 超能力の数 / Mindcraft */
* OPTION: Maximum number of messages to remember (see "io.c")
* Default: assume maximal memorization of 2048 total messages
*/
-#define MESSAGE_MAX 2048
+#define MESSAGE_MAX 81920
/*
* OPTION: Maximum space for the message text buffer (see "io.c")
* Default: assume that each of the 2048 messages is repeated an
* average of three times, and has an average length of 48
*/
-#define MESSAGE_BUF 32768
+#define MESSAGE_BUF 655360
/*
/*
* Misc constants
*/
-#define TOWN_DAWN 10000 /*!< 1日分のターン / Number of ticks from dawn to dawn XXX */
-#define TURNS_PER_TICK 10L /*!< Number of energy-gain-turns per ticks */
-#define MAX_DAYS 20000 /*!< 内部処理中で保持される最大日数 / Maximum days */
-#define BREAK_GLYPH 550 /*!< 守りのルーンの強靭度 / Rune of protection resistance */
-#define BREAK_MINOR_GLYPH 299 /*!< 爆発のルーンの発動しやすさ / For explosive runes */
-#define BTH_PLUS_ADJ 3 /*!< 武器経験値及びプレイヤーの打撃/射撃能力に応じた修正値倍率 / Adjust BTH per plus-to-hit */
-#define MON_MULT_ADJ 8 /*!< モンスターの増殖しにくさの基本倍率 / High value slows multiplication */
-#define MON_SUMMON_ADJ 2 /*!< 現在未使用 Adjust level of summoned creatures */
-#define MON_DRAIN_LIFE 2 /*!< モンスターの打撃によるプレイヤーの経験値吸収基本倍率(%) / Percent of player exp drained per hit */
-#define USE_DEVICE 3 /*!< 魔道具の最低失敗基準値 x> Harder devices x< Easier devices */
+#define TOWN_DAWN 10000 /*!< 1日分のターン / Number of ticks from dawn to dawn XXX */
+#define TURNS_PER_TICK 10L /*!< 時間経過処理を行うターン数の刻み / Number of energy-gain-turns per ticks */
+#define INN_DUNGEON_TURN_ADJ 10 /*!< 宿屋で時間をつぶした場合に増えるdungeon_turnの倍率 */
+#define MAX_DAYS 20000 /*!< 内部処理中で保持される最大日数 / Maximum days */
+#define BREAK_GLYPH 550 /*!< 守りのルーンの強靭度 / Rune of protection resistance */
+#define BREAK_MINOR_GLYPH 299 /*!< 爆発のルーンの発動しやすさ / For explosive runes */
+#define BTH_PLUS_ADJ 3 /*!< 武器経験値及びプレイヤーの打撃/射撃能力に応じた修正値倍率 / Adjust BTH per plus-to-hit */
+#define MON_MULT_ADJ 8 /*!< モンスターの増殖しにくさの基本倍率 / High value slows multiplication */
+#define MON_SUMMON_ADJ 2 /*!< 現在未使用 Adjust level of summoned creatures */
+#define MON_DRAIN_LIFE 2 /*!< モンスターの打撃によるプレイヤーの経験値吸収基本倍率(%) / Percent of player exp drained per hit */
+#define USE_DEVICE 3 /*!< 魔道具の最低失敗基準値 x> Harder devices x< Easier devices */
/* "Biases" for random artifact gen */
/*
* Follow distances
*/
-#define PET_CLOSE_DIST 1
-#define PET_FOLLOW_DIST 6
-#define PET_SEEK_DIST 10
-#define PET_DESTROY_DIST 255
-#define PET_SPACE_DIST (-10)
-#define PET_AWAY_DIST (-25)
+#define PET_CLOSE_DIST 1 /*!<ペットの行動範囲…近くにいろ */
+#define PET_FOLLOW_DIST 6 /*!<ペットの行動範囲…ついて来い */
+#define PET_SEEK_DIST 10 /*!<ペットの行動範囲…特になし? */
+#define PET_DESTROY_DIST 255 /*!<ペットの行動範囲…敵を見つけて倒せ */
+#define PET_SPACE_DIST (-10) /*!<ペットの行動範囲…少し離れていろ */
+#define PET_AWAY_DIST (-25) /*!<ペットの行動範囲…離れていろ */
-#define PF_OPEN_DOORS 0x0001
-#define PF_PICKUP_ITEMS 0x0002
-#define PF_TELEPORT 0x0004
-#define PF_ATTACK_SPELL 0x0008
-#define PF_SUMMON_SPELL 0x0010
-#define PF_BALL_SPELL 0x0020
-#define PF_RYOUTE 0x0040
+#define PF_OPEN_DOORS 0x0001 /*!< ペットの行動許可…ドアを開けてよい */
+#define PF_PICKUP_ITEMS 0x0002 /*!< ペットの行動許可…アイテムを拾ってよい */
+#define PF_TELEPORT 0x0004 /*!< ペットの行動許可…テレポート魔法を使ってよい */
+#define PF_ATTACK_SPELL 0x0008 /*!< ペットの行動許可…攻撃魔法を使ってよい */
+#define PF_SUMMON_SPELL 0x0010 /*!< ペットの行動許可…召喚魔法を使ってよい */
+#define PF_BALL_SPELL 0x0020 /*!< ペットの行動許可…ボール魔法でプレイヤーを巻き込んでよい */
+#define PF_RYOUTE 0x0040 /*!< プレイヤーの騎乗フラグ…武器を片手で持つ */
#define CAN_TWO_HANDS_WIELDING() (!p_ptr->riding || (p_ptr->pet_extra_flags & PF_RYOUTE))
/*
- * There is a 1/20 (5%) chance of inflating the requested object_level
- * during the creation of an object (see "get_obj_num()" in "object.c").
- * Lower values yield better objects more often.
- */
-#define GREAT_OBJ 10
-
-/*
- * There is a 1/25 (4%) chance of inflating the requested monster_level
- * during the creation of a monsters (see "get_mon_num()" in "monster.c").
- * Lower values yield harder monsters more often.
- */
-#define NASTY_MON_BASE 25
-#define NASTY_MON_MAX 3
-#define NASTY_MON_PLUS_MAX 25
-
-#define PENETRATE_INVULNERABILITY 13 /*! 無敵化が破られる確率(1/x) / 1/x chance of hurting even if invulnerable! */
-
-
-
-/*
- * Refueling constants
- */
-#define FUEL_TORCH 5000 /*! 松明の基本寿命値 / Maximum amount of fuel in a torch */
-#define FUEL_LAMP 15000 /*! ランタンの基本寿命値 / Maximum amount of fuel in a lantern */
-
-/*
- * More maximum values
- */
-#define MAX_SIGHT 20 /*!< プレイヤーの最大視界範囲(マス) / Maximum view distance */
-#define MAX_RANGE (p_ptr->inside_battle ? 36 : 18) /*!< プレイヤーの攻撃射程(マス) / Maximum range (spells, etc) */
-#define AAF_LIMIT 100 /*!< モンスターの限界感知範囲(マス) Limit of sensing radius */
-
-#define MIN_M_ALLOC_TD 4 /*!< 街(昼間)の最低住人配置数 / The town starts out with 4 residents during the day */
-#define MIN_M_ALLOC_TN 8 /*!< 街(夜間)の最低住人配置数 / The town starts out with 8 residents during the night */
-
-
-/*!
- * @brief モンスター増殖の最大数
- * @details
- * A monster can only "multiply" (reproduce) if there are fewer than 100
- * monsters on the level capable of such spontaneous reproduction. This
- * is a hack which prevents the "m_list[]" array from exploding due to
- * reproducing monsters. Messy, but necessary.
- */
-#define MAX_REPRO 100
-
-
-/*
* Player constants
*/
-#define PY_MAX_EXP 99999999L /* Maximum exp */
-#define PY_MAX_GOLD 999999999L /* Maximum gold */
-#define PY_MAX_LEVEL 50 /* Maximum level */
+#define PY_MAX_EXP 99999999L /*!< プレイヤー経験値の最大値 / Maximum exp */
+#define PY_MAX_GOLD 999999999L /*!< プレイヤー所持金の最大値 / Maximum gold */
+#define PY_MAX_LEVEL 50 /*!< プレイヤーレベルの最大値 / Maximum level */
/*
* Player "food" crucial values
*/
-#define PY_FOOD_MAX 15000 /* Food value (Bloated) */
-#define PY_FOOD_FULL 10000 /* Food value (Normal) */
-#define PY_FOOD_ALERT 2000 /* Food value (Hungry) */
-#define PY_FOOD_WEAK 1000 /* Food value (Weak) */
-#define PY_FOOD_FAINT 500 /* Food value (Fainting) */
-#define PY_FOOD_STARVE 100 /* Food value (Starving) */
+#define PY_FOOD_MAX 15000 /*!< 食べ過ぎ~満腹の閾値 / Food value (Bloated) */
+#define PY_FOOD_FULL 10000 /*!< 満腹~平常の閾値 / Food value (Normal) */
+#define PY_FOOD_ALERT 2000 /*!< 平常~空腹の閾値 / Food value (Hungry) */
+#define PY_FOOD_WEAK 1000 /*!< 空腹~衰弱の閾値 / Food value (Weak) */
+#define PY_FOOD_FAINT 500 /*!< 衰弱~衰弱(赤表示/麻痺)の閾値 / Food value (Fainting) */
+#define PY_FOOD_STARVE 100 /*!< 衰弱(赤表示/麻痺)~飢餓ダメージの閾値 / Food value (Starving) */
/*
* Player regeneration constants
#define PY_REGEN_MNBASE 524 /* Min amount mana regen*2^16 */
/*
- * Possible realms that can be chosen;
- * currently used only by birth.c and tables.c
+ * 職業ごとの選択可能な魔法領域現在の所 bitrh.cとtables.cでのみ使用。
+ * Possible realms that can be chosen currently used only by birth.c and tables.c
*/
#define CH_NONE 0x00
#define CH_LIFE 0x01
#define REALM_DEATH 5
#define REALM_TRUMP 6
#define REALM_ARCANE 7
-#define REALM_CRAFT 8
+#define REALM_CRAFT 8
#define REALM_DAEMON 9
#define REALM_CRUSADE 10
#define MAX_MAGIC 10
* Note that "INVEN_PACK" is probably hard-coded by its use in savefiles, and
* by the fact that the screen can only show 23 items plus a one-line prompt.
*/
-#define INVEN_PACK 23
+#define INVEN_PACK 23 /*!< アイテムスロット…所持品(0~) */
/*
* Indexes used for various "equipment" slots (hard-coded by savefiles, etc).
*/
-#define INVEN_RARM 24
-#define INVEN_LARM 25
-#define INVEN_BOW 26
-#define INVEN_RIGHT 27
-#define INVEN_LEFT 28
-#define INVEN_NECK 29
-#define INVEN_LITE 30
-#define INVEN_BODY 31
-#define INVEN_OUTER 32
-#define INVEN_HEAD 33
-#define INVEN_HANDS 34
-#define INVEN_FEET 35
+#define INVEN_RARM 24 /*!< アイテムスロット…右手 */
+#define INVEN_LARM 25 /*!< アイテムスロット…左手 */
+#define INVEN_BOW 26 /*!< アイテムスロット…射撃 */
+#define INVEN_RIGHT 27 /*!< アイテムスロット…右手指 */
+#define INVEN_LEFT 28 /*!< アイテムスロット…左手指 */
+#define INVEN_NECK 29 /*!< アイテムスロット…首 */
+#define INVEN_LITE 30 /*!< アイテムスロット…光源 */
+#define INVEN_BODY 31 /*!< アイテムスロット…体 */
+#define INVEN_OUTER 32 /*!< アイテムスロット…体の上 */
+#define INVEN_HEAD 33 /*!< アイテムスロット…頭部 */
+#define INVEN_HANDS 34 /*!< アイテムスロット…腕部 */
+#define INVEN_FEET 35 /*!< アイテムスロット…脚部 */
/*
* used for get_random_ego()
/*
* Indexes of the various "stats" (hard-coded by savefiles, etc).
*/
-#define A_STR 0
-#define A_INT 1
-#define A_WIS 2
-#define A_DEX 3
-#define A_CON 4
-#define A_CHR 5
+#define A_STR 0
+#define A_INT 1
+#define A_WIS 2
+#define A_DEX 3
+#define A_CON 4
+#define A_CHR 5
+#define A_MAX 6
/*
* Player sex constants (hard-coded by save-files, arrays, etc)
#define RACE_S_FAIRY 34
#define RACE_KUTAR 35
#define RACE_ANDROID 36
+#define RACE_MERFOLK 37
/*
* Maximum number of player "race" types (see "table.c", etc)
*/
-#define MAX_RACES 37
+#define MAX_RACES 38
/*
#define SEIKAKU_LUCKY 9
#define SEIKAKU_GAMAN 10
#define SEIKAKU_MUNCHKIN 11
+#define SEIKAKU_CHARGEMAN 12
/*** Screen Locations ***/
+#define VER_INFO_ROW 3 //!< タイトル表記(行)
+
/*
* Some screen locations for various display routines
* Currently, row 8 and 15 are the only "blank" rows.
#define ROW_CURSP 15
#define COL_CURSP 0 /* "Cur SP xxxxx" */
-#define ROW_RIDING_INFO 16
-#define COL_RIDING_INFO 0 /* "xxxxxxxxxxxx" */
+#define ROW_RIDING_INFO 16
+#define COL_RIDING_INFO 0 /* "xxxxxxxxxxxx" */
#define ROW_INFO 17
#define COL_INFO 0 /* "xxxxxxxxxxxx" */
-#define ROW_MAP 0
-#define COL_MAP 12
+#define ROW_MAP 0
+#define COL_MAP 12
#define ROW_CUT 18
#define COL_CUT 0 /* <cut> */
* Originally from UnAngband, and modified into TR-like style in Hengband
*/
+#define FF_LOS 0 /*!< 視界が通る地形である */
+#define FF_PROJECT 1 /*!< 飛び道具が通過できる地形である */
+#define FF_MOVE 2 /*!< 移動可能な地形である */
+#define FF_PLACE 3 /*!< モンスター配置をしても良い地形である(cave_empty_bold/cave_empty_gridで利用) */
+#define FF_DROP 4 /*!< アイテムを落としてよい地形である */
+#define FF_SECRET 5 /*!< 隠し扉やトラップが潜んでいる地形である */
+#define FF_NOTICE 6 /*!< 何か興味を引くものがある地形である(シフトキー+方向で走行中の時に止まる基準) */
+#define FF_REMEMBER 7 /*!< 常に記憶対象となる地形である(記憶喪失時に忘れたりしなくなる) */
+#define FF_OPEN 8 /*!< 開けるコマンドの対象となる地形である */
+#define FF_CLOSE 9 /*!< 閉じるコマンドの対象となる地形である */
+#define FF_BASH 10 /*!< 体当たりコマンドの対象となる地形である */
+#define FF_SPIKE 11 /*!< くさびを打つコマンドの対象となる地形である */
+#define FF_DISARM 12 /*!< 解除コマンドの対象となる地形である */
+#define FF_STORE 13 /*!< 店舗の入口となる地形である */
+#define FF_TUNNEL 14 /*!< 魔王変化などで掘り進められる地形である */
+#define FF_MAY_HAVE_GOLD 15 /*!< 何か財宝を隠した可能性のある地形である?(f_infoに使用している地形なし) */
+#define FF_HAS_GOLD 16 /*!< 財宝を含んだ地形である */
+#define FF_HAS_ITEM 17 /*!< アイテムを含んだ地形である */
+#define FF_DOOR 18 /*!< ドアのある地形である */
+#define FF_TRAP 19 /*!< トラップのある地形である */
+#define FF_STAIRS 20 /*!< 階段のある地形である */
+#define FF_GLYPH 21 /*!< 守りのルーンが張られた地形である */
+#define FF_LESS 22 /*!< 階上に通じる地形である */
+#define FF_MORE 23 /*!< 階下に通じる地形である */
+#define FF_AVOID_RUN 24 /*!< 自動移動機能時に障害として迂回すべき地形である */
+#define FF_FLOOR 25 /*!< 床のある地形である */
+#define FF_WALL 26 /*!< 壁のある地形である */
+#define FF_PERMANENT 27 /*!< 絶対に破壊できない永久地形である */
+/* #define FF_XXX00 28 未定義 */
+/* #define FF_XXX01 29 未定義 */
+/* #define FF_XXX02 30 未定義 */
+#define FF_HIT_TRAP 31 /*!< トラップのある地形である(TRAPと常に重複している?) */
+/* #define FF_BRIDGE 32 未使用 */
+/* #define FF_RIVER 33 未使用 */
+/* #define FF_LAKE 34 未使用 */
+/* #define FF_BRIDGED 35 未使用 */
+/* #define FF_COVERED 36 未使用 */
+#define FF_GLOW 37 /*!< 常に光っている地形である */
+#define FF_ENSECRET 38 /*!< 不明(f_info.txt上で利用している地形がない) */
+#define FF_WATER 39 /*!< 水のある地形である */
+#define FF_LAVA 40 /*!< 溶岩のある地形である */
+#define FF_SHALLOW 41 /*!< 浅い地形である */
+#define FF_DEEP 42 /*!< 深い地形である */
+#define FF_POISON_PUDDLE 43 /*!< 毒溜まりがある */
+#define FF_HURT_ROCK 44 /*!< 岩石溶解の対象となる地形である */
+/* #define FF_HURT_FIRE 45 */ /*!< 未使用 */
+/* #define FF_HURT_COLD 46 */ /*!< 未使用 */
+/* #define FF_HURT_ACID 47 */ /*!< 未使用 */
+#define FF_COLD_PUDDLE 48 /*!< 冷気溜まりがある */
+#define FF_ACID_PUDDLE 49 /*!< 酸溜まりがある */
+/* #define FF_OIL 50 */ /*!< 未使用 */
+#define FF_ELEC_PUDDLE 51 /*!< 接地部が帯電している */
+/* #define FF_CAN_CLIMB 52 */ /*!< 未使用 */
+#define FF_CAN_FLY 53 /*!< 飛行可能な地形である */
+#define FF_CAN_SWIM 54 /*!< 泳ぐことが可能な地形である */
+#define FF_CAN_PASS 55 /*!< 通過可能な地形である */
+/* #define FF_CAN_OOZE 56 */ /*!< 未使用 */
+#define FF_CAN_DIG 57 /*!< 掘削コマンドの対象となる地形である */
+/* #define FF_HIDE_ITEM 58 未使用 */
+/* #define FF_HIDE_SNEAK 59 未使用 */
+/* #define FF_HIDE_SWIM 60 未使用 */
+/* #define FF_HIDE_DIG 61 未使用 */
+/* #define FF_KILL_HUGE 62 未使用 */
+/* #define FF_KILL_MOVE 63 未使用 */
+/* #define FF_PICK_TRAP 64 未使用 */
+/* #define FF_PICK_DOOR 65 未使用 */
+/* #define FF_ALLOC 66 未使用 */
+/* #define FF_CHEST 67 未使用 */
+/* #define FF_DROP_1D2 68 未使用 */
+/* #define FF_DROP_2D2 69 未使用 */
+/* #define FF_DROP_GOOD 70 未使用 */
+/* #define FF_DROP_GREAT 71 未使用 */
+/* #define FF_HURT_POIS 72 未使用 */
+/* #define FF_HURT_ELEC 73 未使用 */
+/* #define FF_HURT_WATER 74 未使用 */
+/* #define FF_HURT_BWATER 75 未使用 */
+/* #define FF_USE_FEAT 76 未使用 */
+/* #define FF_GET_FEAT 77 未使用 */
+/* #define FF_GROUND 78 未使用 */
+/* #define FF_OUTSIDE 79 未使用 */
+/* #define FF_EASY_HIDE 80 未使用 */
+/* #define FF_EASY_CLIMB 81 未使用 */
+/* #define FF_MUST_CLIMB 82 未使用 */
+#define FF_TREE 83 /*!< 木の生えた地形である */
+/* #define FF_NEED_TREE 84 未使用 */
+/* #define FF_BLOOD 85 未使用 */
+/* #define FF_DUST 86 未使用 */
+/* #define FF_SLIME 87 未使用 */
+#define FF_PLANT 88 /*!< 植物の生えた地形である */
+/* #define FF_XXX2 89 未定義 */
+/* #define FF_INSTANT 90 未使用 */
+/* #define FF_EXPLODE 91 未使用 */
+/* #define FF_TIMED 92 未使用 */
+/* #define FF_ERUPT 93 未使用 */
+/* #define FF_STRIKE 94 未使用 */
+/* #define FF_SPREAD 95 未使用 */
+#define FF_SPECIAL 96 /*!< クエストやダンジョンに関わる特別な地形である */
+#define FF_HURT_DISI 97 /*!< 分解属性の対象となる地形である */
+#define FF_QUEST_ENTER 98 /*!< クエストの入り口である */
+#define FF_QUEST_EXIT 99 /*!< クエストの出口である */
+#define FF_QUEST 100 /*!< クエストに関する地形である */
+#define FF_SHAFT 101 /*!< 坑道である。(2階層移動する階段である) */
+#define FF_MOUNTAIN 102 /*!< ダンジョンの山地形である */
+#define FF_BLDG 103 /*!< 施設の入り口である */
+#define FF_MINOR_GLYPH 104 /*!< 爆発のルーンのある地形である */
+#define FF_PATTERN 105 /*!< パターンのある地形である */
+#define FF_TOWN 106 /*!< 広域マップ用の街がある地形である */
+#define FF_ENTRANCE 107 /*!< 広域マップ用のダンジョンがある地形である */
+#define FF_MIRROR 108 /*!< 鏡使いの鏡が張られた地形である */
+#define FF_UNPERM 109 /*!< 破壊不能な地形である(K:フラグ向け?) */
+#define FF_TELEPORTABLE 110 /*!< テレポート先の対象となる地形である */
+#define FF_CONVERT 111 /*!< 地形生成処理中の疑似フラグ */
+#define FF_GLASS 112 /*!< ガラス製の地形である */
-#define FF_LOS 0
-#define FF_PROJECT 1
-#define FF_MOVE 2
-#define FF_PLACE 3
-#define FF_DROP 4
-#define FF_SECRET 5
-#define FF_NOTICE 6
-#define FF_REMEMBER 7
-#define FF_OPEN 8
-#define FF_CLOSE 9
-#define FF_BASH 10
-#define FF_SPIKE 11
-#define FF_DISARM 12
-#define FF_STORE 13
-#define FF_TUNNEL 14
-#define FF_MAY_HAVE_GOLD 15
-#define FF_HAS_GOLD 16
-#define FF_HAS_ITEM 17
-#define FF_DOOR 18
-#define FF_TRAP 19
-#define FF_STAIRS 20
-#define FF_GLYPH 21
-#define FF_LESS 22
-#define FF_MORE 23
-#define FF_AVOID_RUN 24
-#define FF_FLOOR 25
-#define FF_WALL 26
-#define FF_PERMANENT 27
-/* #define FF_XXX00 28 */
-/* #define FF_XXX01 29 */
-/* #define FF_XXX02 30 */
-#define FF_HIT_TRAP 31
-
-/* #define FF_BRIDGE 32 */
-/* #define FF_RIVER 33 */
-/* #define FF_LAKE 34 */
-/* #define FF_BRIDGED 35 */
-/* #define FF_COVERED 36 */
-#define FF_GLOW 37
-#define FF_ENSECRET 38
-#define FF_WATER 39
-#define FF_LAVA 40
-#define FF_SHALLOW 41
-#define FF_DEEP 42
-/* #define FF_FILLED 43 */
-#define FF_HURT_ROCK 44
-/* #define FF_HURT_FIRE 45 */
-/* #define FF_HURT_COLD 46 */
-/* #define FF_HURT_ACID 47 */
-/* #define FF_ICE 48 */
-/* #define FF_ACID 49 */
-/* #define FF_OIL 50 */
-/* #define FF_XXX04 51 */
-/* #define FF_CAN_CLIMB 52 */
-#define FF_CAN_FLY 53
-#define FF_CAN_SWIM 54
-#define FF_CAN_PASS 55
-/* #define FF_CAN_OOZE 56 */
-#define FF_CAN_DIG 57
-/* #define FF_HIDE_ITEM 58 */
-/* #define FF_HIDE_SNEAK 59 */
-/* #define FF_HIDE_SWIM 60 */
-/* #define FF_HIDE_DIG 61 */
-/* #define FF_KILL_HUGE 62 */
-/* #define FF_KILL_MOVE 63 */
-
-/* #define FF_PICK_TRAP 64 */
-/* #define FF_PICK_DOOR 65 */
-/* #define FF_ALLOC 66 */
-/* #define FF_CHEST 67 */
-/* #define FF_DROP_1D2 68 */
-/* #define FF_DROP_2D2 69 */
-/* #define FF_DROP_GOOD 70 */
-/* #define FF_DROP_GREAT 71 */
-/* #define FF_HURT_POIS 72 */
-/* #define FF_HURT_ELEC 73 */
-/* #define FF_HURT_WATER 74 */
-/* #define FF_HURT_BWATER 75 */
-/* #define FF_USE_FEAT 76 */
-/* #define FF_GET_FEAT 77 */
-/* #define FF_GROUND 78 */
-/* #define FF_OUTSIDE 79 */
-/* #define FF_EASY_HIDE 80 */
-/* #define FF_EASY_CLIMB 81 */
-/* #define FF_MUST_CLIMB 82 */
-#define FF_TREE 83
-/* #define FF_NEED_TREE 84 */
-/* #define FF_BLOOD 85 */
-/* #define FF_DUST 86 */
-/* #define FF_SLIME 87 */
-#define FF_PLANT 88
-/* #define FF_XXX2 89 */
-/* #define FF_INSTANT 90 */
-/* #define FF_EXPLODE 91 */
-/* #define FF_TIMED 92 */
-/* #define FF_ERUPT 93 */
-/* #define FF_STRIKE 94 */
-/* #define FF_SPREAD 95 */
-
-#define FF_SPECIAL 96
-#define FF_HURT_DISI 97
-#define FF_QUEST_ENTER 98
-#define FF_QUEST_EXIT 99
-#define FF_QUEST 100
-#define FF_SHAFT 101
-#define FF_MOUNTAIN 102
-#define FF_BLDG 103
-#define FF_MINOR_GLYPH 104
-#define FF_PATTERN 105
-#define FF_TOWN 106
-#define FF_ENTRANCE 107
-#define FF_MIRROR 108
-#define FF_UNPERM 109
-#define FF_TELEPORTABLE 110
-#define FF_CONVERT 111
-#define FF_GLASS 112
#define FF_FLAG_MAX 113
#define FF_FLAG_SIZE (1 + ((FF_FLAG_MAX - 1) / 32))
feat_door[(DOOR_TYPE)].jammed[randint0(feat_door[(DOOR_TYPE)].num_jammed)] : feat_none)
-/* Types of normal traps */
-#define NOT_TRAP -1
-#define TRAP_TRAPDOOR 0
-#define TRAP_PIT 1
-#define TRAP_SPIKED_PIT 2
-#define TRAP_POISON_PIT 3
-#define TRAP_TY_CURSE 4
-#define TRAP_TELEPORT 5
-#define TRAP_FIRE 6
-#define TRAP_ACID 7
-#define TRAP_SLOW 8
-#define TRAP_LOSE_STR 9
-#define TRAP_LOSE_DEX 10
-#define TRAP_LOSE_CON 11
-#define TRAP_BLIND 12
-#define TRAP_CONFUSE 13
-#define TRAP_POISON 14
-#define TRAP_SLEEP 15
-#define TRAP_TRAPS 16
-#define TRAP_ALARM 17
-
-
-/* Types of special traps */
-#define TRAP_OPEN 18
-#define TRAP_ARMAGEDDON 19
-#define TRAP_PIRANHA 20
-
-
-/* Maximum locked/jammed doors */
-#define MAX_LJ_DOORS 8
/* Types of pattern tiles */
#define ACT_BO_FIRE_1 7
#define ACT_BA_COLD_1 8
#define ACT_BA_FIRE_1 9
-#define ACT_DRAIN_1 10
+#define ACT_HYPODYNAMIA_1 10
#define ACT_BA_COLD_2 11
#define ACT_BA_ELEC_2 12
-#define ACT_DRAIN_2 13
-#define ACT_VAMPIRE_1 14
+#define ACT_HYPODYNAMIA_2 13
+#define ACT_DRAIN_1 14
#define ACT_BO_MISS_2 15
#define ACT_BA_FIRE_3 16
#define ACT_BA_COLD_3 17
#define ACT_BA_ELEC_3 18
#define ACT_WHIRLWIND 19
-#define ACT_VAMPIRE_2 20
+#define ACT_DRAIN_2 20
#define ACT_CALL_CHAOS 21
#define ACT_ROCKET 22
#define ACT_DISP_EVIL 23
#define ACT_XTRA_SPEED 96
#define ACT_WRAITH 97
#define ACT_INVULN 98
-#define ACT_HELO 99
-#define ACT_HELO_SPEED 100
+#define ACT_HERO 99
+#define ACT_HERO_SPEED 100
#define ACT_RESIST_ACID 101
#define ACT_RESIST_FIRE 102
#define ACT_RESIST_COLD 103
#define SV_WAND_SLOW_MONSTER 9
#define SV_WAND_CONFUSE_MONSTER 10
#define SV_WAND_FEAR_MONSTER 11
-#define SV_WAND_DRAIN_LIFE 12
+#define SV_WAND_HYPODYNAMIA 12
#define SV_WAND_POLYMORPH 13
#define SV_WAND_STINKING_CLOUD 14
#define SV_WAND_MAGIC_MISSILE 15
#define SV_ROD_LITE 15
#define SV_ROD_SLEEP_MONSTER 16
#define SV_ROD_SLOW_MONSTER 17
-#define SV_ROD_DRAIN_LIFE 18
+#define SV_ROD_HYPODYNAMIA 18
#define SV_ROD_POLYMORPH 19
#define SV_ROD_ACID_BOLT 20
#define SV_ROD_ELEC_BOLT 21
#define SV_POTION_POISON 6
#define SV_POTION_BLINDNESS 7
/* xxx */
-#define SV_POTION_CONFUSION 9
+#define SV_POTION_BOOZE 9
/* xxx */
#define SV_POTION_SLEEP 11
/* xxx */
#define SV_FOOD_PINT_OF_WINE 39
-/*
- * Special "sval" limit -- first "normal" food
- */
-#define SV_FOOD_MIN_FOOD 32
-
-/*
- * Special "sval" limit -- first "aimed" rod
- */
-#define SV_ROD_MIN_DIRECTION 12
+#define SV_ROD_MIN_DIRECTION 12 /*!< この値以降の小項目IDを持ったロッドは使用時にターゲットを要求する / Special "sval" limit -- first "aimed" rod */
-/*
- * Special "sval" limit -- first "large" chest
- */
-#define SV_CHEST_MIN_LARGE 4
-#define SV_CHEST_KANDUME 50
+#define SV_CHEST_MIN_LARGE 4 /*!< この値以降の小項目IDを持った箱は大型の箱としてドロップ数を増やす / Special "sval" limit -- first "large" chest */
+#define SV_CHEST_KANDUME 50 /*!< 箱アイテムの小項目ID: おもちゃのカンヅメ */
/*
* Special "sval" limit -- first "good" magic/prayer book
/*
- * Special cave grid flags
+ * 特殊なマス状態フラグ / Special cave grid flags
*/
-#define CAVE_MARK 0x0001 /* memorized feature */
-#define CAVE_GLOW 0x0002 /* self-illuminating */
-#define CAVE_ICKY 0x0004 /* part of a vault */
-#define CAVE_ROOM 0x0008 /* part of a room */
-#define CAVE_LITE 0x0010 /* lite flag */
-#define CAVE_VIEW 0x0020 /* view flag */
-#define CAVE_TEMP 0x0040 /* temp flag */
-#define CAVE_XTRA 0x0080 /* misc flag */
-#define CAVE_MNLT 0x0100 /* Illuminated by monster */
-#define CAVE_MNDK 0x8000 /* Darken by monster */
+#define CAVE_MARK 0x0001 /*!< 現在プレイヤーの記憶に収まっている / memorized feature */
+#define CAVE_GLOW 0x0002 /*!< マス自体が光源を持っている / self-illuminating */
+#define CAVE_ICKY 0x0004 /*!< 生成されたVaultの一部である / part of a vault */
+#define CAVE_ROOM 0x0008 /*!< 生成された部屋の一部である / part of a room */
+#define CAVE_LITE 0x0010 /*!< 現在光に照らされている / lite flag */
+#define CAVE_VIEW 0x0020 /*!< 現在プレイヤーの視界に収まっている / view flag */
+#define CAVE_TEMP 0x0040 /*!< 光源に関する処理のアルゴリズム用記録フラグ / temp flag */
+#define CAVE_XTRA 0x0080 /*!< 視界に関する処理のアルゴリズム用記録フラグ(update_view()等参照) / misc flag */
+#define CAVE_MNLT 0x0100 /*!< モンスターの光源によって照らされている / Illuminated by monster */
+#define CAVE_MNDK 0x8000 /*!< モンスターの暗源によって暗闇になっている / Darken by monster */
/* Used only while cave generation */
#define CAVE_FLOOR 0x0200 /*!< フロア属性のあるマス */
/*
- * Bit flags for the "project()" function
- *
- * JUMP: Jump directly to the target location (this is a hack)
- * BEAM: Work as a beam weapon (affect every grid passed through)
- * THRU: Continue "through" the target (used for "bolts"/"beams")
- * STOP: Stop as soon as we hit a monster (used for "bolts")
- * GRID: Affect each grid in the "blast area" in some way
- * ITEM: Affect each object in the "blast area" in some way
- * KILL: Affect each monster in the "blast area" in some way
- * HIDE: Hack -- disable "visual" feedback from projection
- * DISI: Disintegrate non-permanent features
- * PLAYER: Main target is player (used for riding player)
- * AIMED: Target is only player or monster, so don't affect another.
- * Depend on PROJECT_PLAYER.
- * (used for minimum (rad == 0) balls on riding player)
- * REFLECTABLE: Refrectable spell attacks (used for "bolts")
- * NO_HANGEKI: Avoid counter attacks of monsters
- * PATH: Only used for printing project path
- * FAST: Hide "visual" of flying bolts until blast
- */
-#define PROJECT_JUMP 0x01
-#define PROJECT_BEAM 0x02
-#define PROJECT_THRU 0x04
-#define PROJECT_STOP 0x08
-#define PROJECT_GRID 0x10
-#define PROJECT_ITEM 0x20
-#define PROJECT_KILL 0x40
-#define PROJECT_HIDE 0x80
-#define PROJECT_DISI 0x100
-#define PROJECT_PLAYER 0x200
-#define PROJECT_AIMED 0x400
-#define PROJECT_REFLECTABLE 0x800
-#define PROJECT_NO_HANGEKI 0x1000
-#define PROJECT_PATH 0x2000
-#define PROJECT_FAST 0x4000
-#define PROJECT_LOS 0x8000
-
-
-/*
* Special caster ID for project()
*/
-#define PROJECT_WHO_UNCTRL_POWER -1
-#define PROJECT_WHO_GLASS_SHARDS -2
+#define PROJECT_WHO_UNCTRL_POWER -1 /*!< 魔法効果の自然発生要因: 名状し難い力の解放 */
+#define PROJECT_WHO_GLASS_SHARDS -2 /*!< 魔法効果の自然発生要因: 破壊されたガラス地形の破片 */
/*
* Bit flags for the "enchant()" function
*/
-#define ENCH_TOHIT 0x01 /* Enchant to hit */
-#define ENCH_TODAM 0x02 /* Enchant to damage */
-#define ENCH_TOAC 0x04 /* Enchant to AC */
-#define ENCH_FORCE 0x08 /* Force enchantment */
+#define ENCH_TOHIT 0x01 /*!< 装備強化処理: 命中強化 / Enchant to hit */
+#define ENCH_TODAM 0x02 /*!< 装備強化処理: ダメージ強化 / Enchant to damage */
+#define ENCH_TOAC 0x04 /*!< 装備強化処理: AC強化 / Enchant to AC */
+#define ENCH_FORCE 0x08 /*!< 装備強化処理: 無条件に成功させる / Force enchantment */
/*
- * Bit flags for the "target_set" function XXX XXX XXX
- *
- * KILL: Target monsters
- * LOOK: Describe grid fully
- * XTRA: Currently unused flag
- * GRID: Select from all grids
+ * target_set用関数の利用用途フラグ / Bit flags for the "target_set" function
*/
-#define TARGET_KILL 0x01
-#define TARGET_LOOK 0x02
-#define TARGET_XTRA 0x04
-#define TARGET_GRID 0x08
+#define TARGET_KILL 0x01 /*!< モンスターへの狙いをつける(視界内モンスターのみクエリ対象) / Target monsters */
+#define TARGET_LOOK 0x02 /*!< "L"ookコマンド向けの既存情報確認向け(全ての有為な情報をクエリ対象) / Describe grid fully */
+#define TARGET_XTRA 0x04 /*!< 現在未使用 / Currently unused flag */
+#define TARGET_GRID 0x08 /*!< 全てのマス対象にする(現在未使用) / Select from all grids */
/*
#define CHECK_DEFAULT_Y 0x08
+
+
/*
- * Some bit-flags for the "smart" field
- */
-#define SM_RES_ACID 0x00000001
-#define SM_RES_ELEC 0x00000002
-#define SM_RES_FIRE 0x00000004
-#define SM_RES_COLD 0x00000008
-#define SM_RES_POIS 0x00000010
-#define SM_RES_NETH 0x00000020
-#define SM_RES_LITE 0x00000040
-#define SM_RES_DARK 0x00000080
-#define SM_RES_FEAR 0x00000100
-#define SM_RES_CONF 0x00000200
-#define SM_RES_CHAOS 0x00000400
-#define SM_RES_DISEN 0x00000800
-#define SM_RES_BLIND 0x00001000
-#define SM_RES_NEXUS 0x00002000
-#define SM_RES_SOUND 0x00004000
-#define SM_RES_SHARD 0x00008000
-#define SM_OPP_ACID 0x00010000
-#define SM_OPP_ELEC 0x00020000
-#define SM_OPP_FIRE 0x00040000
-#define SM_OPP_COLD 0x00080000
-#define SM_OPP_POIS 0x00100000
-#define SM_OPP_XXX1 0x00200000 /* (unused) */
-#define SM_CLONED 0x00400000 /* XXX Cloned */
-#define SM_PET 0x00800000 /* XXX Pet */
-#define SM_IMM_ACID 0x01000000
-#define SM_IMM_ELEC 0x02000000
-#define SM_IMM_FIRE 0x04000000
-#define SM_IMM_COLD 0x08000000
-#define SM_FRIENDLY 0x10000000 /* XXX Friendly */
-#define SM_IMM_REFLECT 0x20000000
-#define SM_IMM_FREE 0x40000000
-#define SM_IMM_MANA 0x80000000
-
-
-/*
- * Bit flags for the "get_item" function
- */
-#define USE_EQUIP 0x01 /* Allow equip items */
-#define USE_INVEN 0x02 /* Allow inven items */
-#define USE_FLOOR 0x04 /* Allow floor items */
-
-
-/*
- * Bit flags for the "p_ptr->notice" variable
- */
-#define PN_COMBINE 0x00000001L /* Combine the pack */
-#define PN_REORDER 0x00000002L /* Reorder the pack */
-#define PN_AUTODESTROY 0x00000004L /* Auto-destroy marked item */
-/* xxx (many) */
-
-
-/*
- * Bit flags for the "p_ptr->update" variable
- */
-#define PU_BONUS 0x00000001L /* Calculate bonuses */
-#define PU_TORCH 0x00000002L /* Calculate torch radius */
-/* xxx (many) */
-#define PU_HP 0x00000010L /* Calculate chp and mhp */
-#define PU_MANA 0x00000020L /* Calculate csp and msp */
-#define PU_SPELLS 0x00000040L /* Calculate spells */
-/* xxx (many) */
-/* xxx (many) */
-#define PU_UN_VIEW 0x00010000L /* Forget view */
-#define PU_UN_LITE 0x00020000L /* Forget lite */
-/* xxx (many) */
-#define PU_VIEW 0x00100000L /* Update view */
-#define PU_LITE 0x00200000L /* Update lite */
-#define PU_MON_LITE 0x00400000L /* Monster illumination */
-#define PU_DELAY_VIS 0x00800000L /* Mega-Hack -- Delayed visual update */
-#define PU_MONSTERS 0x01000000L /* Update monsters */
-#define PU_DISTANCE 0x02000000L /* Update distances */
-/* xxx */
-#define PU_FLOW 0x10000000L /* Update flow */
-/* xxx (many) */
+ * get_item()関数でアイテムの選択を行うフラグ / Bit flags for the "get_item" function
+ */
+#define USE_EQUIP 0x01 /*!< アイテム表示/選択範囲: 装備品からの選択を許可する / Allow equip items */
+#define USE_INVEN 0x02 /*!< アイテム表示/選択範囲: 所持品からの選択を許可する / Allow inven items */
+#define USE_FLOOR 0x04 /*!< アイテム表示/選択範囲: 床下のアイテムからの選択を許可する / Allow floor items */
+#define USE_FORCE 0x08 /*!< 特殊: wキーで錬気術への切り替えを許可する */
+#define IGNORE_BOTHHAND_SLOT 0x10 /*!< アイテム表示/選択範囲: 両手持ちスロットを選択に含めない */
+#define USE_FULL 0x20 /*!< アイテム表示/選択範囲: 空欄まですべて表示する*/
+
+
+
+
+/*
+ * p_ptr->updateに充てるプレイヤーステータス更新処理要求 / Bit flags for the "p_ptr->update" variable
+ */
/*
* Bit flags for the "p_ptr->redraw" variable
*/
-#define PR_MISC 0x00000001L /* Display Race/Class */
-#define PR_TITLE 0x00000002L /* Display Title */
-#define PR_LEV 0x00000004L /* Display Level */
-#define PR_EXP 0x00000008L /* Display Experience */
-#define PR_STATS 0x00000010L /* Display Stats */
-#define PR_ARMOR 0x00000020L /* Display Armor */
-#define PR_HP 0x00000040L /* Display Hitpoints */
-#define PR_MANA 0x00000080L /* Display Mana */
-#define PR_GOLD 0x00000100L /* Display Gold */
-#define PR_DEPTH 0x00000200L /* Display Depth */
-#define PR_EQUIPPY 0x00000400L /* Display equippy chars */
-#define PR_HEALTH 0x00000800L /* Display Health Bar */
-#define PR_CUT 0x00001000L /* Display Extra (Cut) */
-#define PR_STUN 0x00002000L /* Display Extra (Stun) */
-#define PR_HUNGER 0x00004000L /* Display Extra (Hunger) */
-#define PR_STATUS 0x00008000L /* Display Status Bar */
-#define PR_XXX0 0x00010000L /* (unused) */
-#define PR_UHEALTH 0x00020000L /* Display Uma Health Bar */
-#define PR_XXX1 0x00040000L /* (unused) */
-#define PR_XXX2 0x00080000L /* (unused) */
-#define PR_STATE 0x00100000L /* Display Extra (State) */
-#define PR_SPEED 0x00200000L /* Display Extra (Speed) */
-#define PR_STUDY 0x00400000L /* Display Extra (Study) */
-#define PR_IMITATION 0x00800000L /* Display Extra (Imitation) */
-#define PR_EXTRA 0x01000000L /* Display Extra Info */
-#define PR_BASIC 0x02000000L /* Display Basic Info */
-#define PR_MAP 0x04000000L /* Display Map */
-#define PR_WIPE 0x08000000L /* Hack -- Total Redraw */
+#define PR_MISC 0x00000001L /*!< 再描画フラグ: 種族と職業 / Display Race/Class */
+#define PR_TITLE 0x00000002L /*!< 再描画フラグ: 称号 / Display Title */
+#define PR_LEV 0x00000004L /*!< 再描画フラグ: レベル / Display Level */
+#define PR_EXP 0x00000008L /*!< 再描画フラグ: 経験値 / Display Experience */
+#define PR_STATS 0x00000010L /*!< 再描画フラグ: ステータス / Display Stats */
+#define PR_ARMOR 0x00000020L /*!< 再描画フラグ: AC / Display Armor */
+#define PR_HP 0x00000040L /*!< 再描画フラグ: HP / Display Hitpoints */
+#define PR_MANA 0x00000080L /*!< 再描画フラグ: MP / Display Mana */
+#define PR_GOLD 0x00000100L /*!< 再描画フラグ: 所持金 / Display Gold */
+#define PR_DEPTH 0x00000200L /*!< 再描画フラグ: ダンジョンの階 / Display Depth */
+#define PR_EQUIPPY 0x00000400L /*!< 再描画フラグ: 装備シンボル / Display equippy chars */
+#define PR_HEALTH 0x00000800L /*!< 再描画フラグ: モンスターのステータス / Display Health Bar */
+#define PR_CUT 0x00001000L /*!< 再描画フラグ: 負傷度 / Display Extra (Cut) */
+#define PR_STUN 0x00002000L /*!< 再描画フラグ: 朦朧度 / Display Extra (Stun) */
+#define PR_HUNGER 0x00004000L /*!< 再描画フラグ: 空腹度 / Display Extra (Hunger) */
+#define PR_STATUS 0x00008000L /*!< 再描画フラグ: プレイヤーの付与状態 / Display Status Bar */
+#define PR_XXX0 0x00010000L /*!< (unused) */
+#define PR_UHEALTH 0x00020000L /*!< 再描画フラグ: ペットのステータス / Display Uma Health Bar */
+#define PR_XXX1 0x00040000L /*!< (unused) */
+#define PR_XXX2 0x00080000L /*!< (unused) */
+#define PR_STATE 0x00100000L /*!< 再描画フラグ: プレイヤーの行動状態 / Display Extra (State) */
+#define PR_SPEED 0x00200000L /*!< 再描画フラグ: 加速 / Display Extra (Speed) */
+#define PR_STUDY 0x00400000L /*!< 再描画フラグ: 学習 / Display Extra (Study) */
+#define PR_IMITATION 0x00800000L /*!< 再描画フラグ: ものまね / Display Extra (Imitation) */
+#define PR_EXTRA 0x01000000L /*!< 再描画フラグ: 拡張ステータス全体 / Display Extra Info */
+#define PR_BASIC 0x02000000L /*!< 再描画フラグ: 基本ステータス全体 / Display Basic Info */
+#define PR_MAP 0x04000000L /*!< 再描画フラグ: ゲームマップ / Display Map */
+#define PR_WIPE 0x08000000L /*!< 再描画フラグ: 画面消去 / Hack -- Total Redraw */
/* xxx */
/* xxx */
/* xxx */
/*
* Bit flags for the "p_ptr->window" variable (etc)
*/
-#define PW_INVEN 0x00000001L /* Display inven/equip */
-#define PW_EQUIP 0x00000002L /* Display equip/inven */
-#define PW_SPELL 0x00000004L /* Display spell list */
-#define PW_PLAYER 0x00000008L /* Display character */
-#define PW_MONSTER_LIST 0x00000010L /* Display monster list */
+#define PW_INVEN 0x00000001L /*!<サブウィンドウ描画フラグ: 所持品-装備品 / Display inven/equip */
+#define PW_EQUIP 0x00000002L /*!<サブウィンドウ描画フラグ: 装備品-所持品 / Display equip/inven */
+#define PW_SPELL 0x00000004L /*!<サブウィンドウ描画フラグ: 魔法一覧 / Display spell list */
+#define PW_PLAYER 0x00000008L /*!<サブウィンドウ描画フラグ: プレイヤーのステータス / Display character */
+#define PW_MONSTER_LIST 0x00000010L /*!<サブウィンドウ描画フラグ: 視界内モンスターの一覧 / Display monster list */
/* xxx */
/* xxx */
-#define PW_MESSAGE 0x00000040L /* Display messages */
-#define PW_OVERHEAD 0x00000080L /* Display overhead view */
-#define PW_MONSTER 0x00000100L /* Display monster recall */
-#define PW_OBJECT 0x00000200L /* Display object recall */
-#define PW_DUNGEON 0x00000400L /* Display dungeon view */
-#define PW_SNAPSHOT 0x00000800L /* Display snap-shot */
+#define PW_MESSAGE 0x00000040L /*!<サブウィンドウ描画フラグ: メッセージログ / Display messages */
+#define PW_OVERHEAD 0x00000080L /*!<サブウィンドウ描画フラグ: 周辺の光景 / Display overhead view */
+#define PW_MONSTER 0x00000100L /*!<サブウィンドウ描画フラグ: モンスターの思い出 / Display monster recall */
+#define PW_OBJECT 0x00000200L /*!<サブウィンドウ描画フラグ: アイテムの知識 / Display object recall */
+#define PW_DUNGEON 0x00000400L /*!<サブウィンドウ描画フラグ: ダンジョンの地形 / Display dungeon view */
+#define PW_SNAPSHOT 0x00000800L /*!<サブウィンドウ描画フラグ: 記念写真 / Display snap-shot */
/* xxx */
/* xxx */
-#define PW_BORG_1 0x00004000L /* Display borg messages */
-#define PW_BORG_2 0x00008000L /* Display borg status */
-
-/*
- * Bit flags for the place_monster_???() (etc)
- */
-#define PM_ALLOW_SLEEP 0x00000001
-#define PM_ALLOW_GROUP 0x00000002
-#define PM_FORCE_FRIENDLY 0x00000004
-#define PM_FORCE_PET 0x00000008
-#define PM_NO_KAGE 0x00000010
-#define PM_NO_PET 0x00000020
-#define PM_ALLOW_UNIQUE 0x00000040
-#define PM_IGNORE_TERRAIN 0x00000080
-#define PM_HASTE 0x00000100
-#define PM_KAGE 0x00000200
-#define PM_MULTIPLY 0x00000400
+#define PW_BORG_1 0x00004000L /*!<サブウィンドウ描画フラグ: ボーグメッセージ / Display borg messages */
+#define PW_BORG_2 0x00008000L /*!<サブウィンドウ描画フラグ: ボーグステータス / Display borg status */
/* Bit flags for monster_desc() */
#define NINJA_KAWARIMI 0x00002000 /*!< プレイヤーのステータス:変わり身 */
#define NINJA_S_STEALTH 0x00004000 /*!< プレイヤーのステータス:超隠密 */
-#define MAX_KAMAE 4
-#define KAMAE_MASK (KAMAE_GENBU | KAMAE_BYAKKO | KAMAE_SEIRYU | KAMAE_SUZAKU)
+#define MAX_KAMAE 4 /*!< 修行僧の構え最大数 */
+#define KAMAE_MASK (KAMAE_GENBU | KAMAE_BYAKKO | KAMAE_SEIRYU | KAMAE_SUZAKU) /*!< 修行僧の構えビット配列 */
-#define MAX_KATA 4
-#define KATA_MASK (KATA_IAI | KATA_FUUJIN | KATA_KOUKIJIN | KATA_MUSOU)
+#define MAX_KATA 4 /*!< 修行僧の型最大数 */
+#define KATA_MASK (KATA_IAI | KATA_FUUJIN | KATA_KOUKIJIN | KATA_MUSOU) /*!< 修行僧の型ビット配列 */
-#define ACTION_NONE 0
-#define ACTION_SEARCH 1
-#define ACTION_REST 2
-#define ACTION_LEARN 3
-#define ACTION_FISH 4
-#define ACTION_KAMAE 5
-#define ACTION_KATA 6
-#define ACTION_SING 7
-#define ACTION_HAYAGAKE 8
-#define ACTION_SPELL 9
+#define ACTION_NONE 0 /*!< 持続行動: なし */
+#define ACTION_SEARCH 1 /*!< 持続行動: 探索 */
+#define ACTION_REST 2 /*!< 持続行動: 休憩 */
+#define ACTION_LEARN 3 /*!< 持続行動: 青魔法ラーニング */
+#define ACTION_FISH 4 /*!< 持続行動: 釣り */
+#define ACTION_KAMAE 5 /*!< 持続行動: 修行僧の構え */
+#define ACTION_KATA 6 /*!< 持続行動: 剣術家の型 */
+#define ACTION_SING 7 /*!< 持続行動: 歌 */
+#define ACTION_HAYAGAKE 8 /*!< 持続行動: 早駆け */
+#define ACTION_SPELL 9 /*!< 持続行動: 呪術 */
/* Empty hand status */
/*
* Spell types used by project(), and related functions.
*/
-#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_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 /*!< 魔法効果: プラズマ*/
/* Replaced with GF_HOLY_FIRE and GF_HELL_FIRE */
/* #define GF_HOLY_ORB 13 */
-#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_INERTIA 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_OLD_DRAIN 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 /* New types for Zangband begin here... */
-#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_CONTROL_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 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 /*!< 魔法効果: モンスター退散*/
+/* New types for Zangband begin here... */
+#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
/*
* Some things which induce learning
* OM_NOMSG --- temporary flag to suppress messages which were
* already printed in autopick_pickup_items().
*/
-#define OM_FOUND 0x01 /* original boolean flag */
+#define OM_FOUND 0x01 /*!< アイテムを一度でも視界に収めたことがあるか */
#define OM_NOMSG 0x02 /* temporary flag to suppress messages */
#define OM_NO_QUERY 0x04 /* Query for auto-pick was already answered as 'No' */
#define OM_AUTODESTROY 0x08 /* Destroy later to avoid illegal inventry shift */
* Special Monster Flags (all temporary)
*/
#define MFLAG_VIEW 0x01 /* Monster is in line of sight */
-#define MFLAG_TEMP 0x02 /* Monster is marked for project_hack() */
+#define MFLAG_TEMP 0x02 /* Monster is marked for project_all_los() */
#define MFLAG_XXX2 0x04 /* (unused) */
#define MFLAG_XXX3 0x08 /* (unused) */
#define MFLAG_BORN 0x10 /* Monster is still being born */
* Therefore it's very easy to add a lot of new flags; no one need to
* worry about in which variable a new flag should be put, nor to
* modify a huge number of files all over the source directory at once
- * to add new flag variables such as flags4, flags5, etc...
+ * to add new flag variables such as flags4, a_ability_flags1, etc...
*
* All management of flags is now treated using a set of macros
* instead of bit operations.
#define RBM_SHOOT 25 /*!< モンスターの攻撃種別:射撃(非打撃) */
-/*
- * New monster blow effects
- */
-#define RBE_HURT 1
-#define RBE_POISON 2
-#define RBE_UN_BONUS 3
-#define RBE_UN_POWER 4
-#define RBE_EAT_GOLD 5
-#define RBE_EAT_ITEM 6
-#define RBE_EAT_FOOD 7
-#define RBE_EAT_LITE 8
-#define RBE_ACID 9
-#define RBE_ELEC 10
-#define RBE_FIRE 11
-#define RBE_COLD 12
-#define RBE_BLIND 13
-#define RBE_CONFUSE 14
-#define RBE_TERRIFY 15
-#define RBE_PARALYZE 16
-#define RBE_LOSE_STR 17
-#define RBE_LOSE_INT 18
-#define RBE_LOSE_WIS 19
-#define RBE_LOSE_DEX 20
-#define RBE_LOSE_CON 21
-#define RBE_LOSE_CHR 22
-#define RBE_LOSE_ALL 23
-#define RBE_SHATTER 24
-#define RBE_EXP_10 25
-#define RBE_EXP_20 26
-#define RBE_EXP_40 27
-#define RBE_EXP_80 28
-#define RBE_DISEASE 29
-#define RBE_TIME 30
-#define RBE_DR_LIFE 31
-#define RBE_DR_MANA 32
-#define RBE_SUPERHURT 33
-#define RBE_INERTIA 34
-#define RBE_STUN 35
+/*!
+ * @note モンスターの攻撃効果 / New monster blow effects
+ */
+#define RBE_HURT 1 /*!< モンスターの攻撃効果: 攻撃する*/
+#define RBE_POISON 2 /*!< モンスターの攻撃効果: 毒をくらわす*/
+#define RBE_UN_BONUS 3 /*!< モンスターの攻撃効果: 劣化させる*/
+#define RBE_UN_POWER 4 /*!< モンスターの攻撃効果: 充填魔力を吸収する*/
+#define RBE_EAT_GOLD 5 /*!< モンスターの攻撃効果: 金を盗む*/
+#define RBE_EAT_ITEM 6 /*!< モンスターの攻撃効果: アイテムを盗む*/
+#define RBE_EAT_FOOD 7 /*!< モンスターの攻撃効果: あなたの食糧を食べる*/
+#define RBE_EAT_LITE 8 /*!< モンスターの攻撃効果: 明かりを吸収する*/
+#define RBE_ACID 9 /*!< モンスターの攻撃効果: 酸を飛ばす*/
+#define RBE_ELEC 10 /*!< モンスターの攻撃効果: 感電させる*/
+#define RBE_FIRE 11 /*!< モンスターの攻撃効果: 燃やす*/
+#define RBE_COLD 12 /*!< モンスターの攻撃効果: 凍らせる*/
+#define RBE_BLIND 13 /*!< モンスターの攻撃効果: 盲目にする*/
+#define RBE_CONFUSE 14 /*!< モンスターの攻撃効果: 混乱させる*/
+#define RBE_TERRIFY 15 /*!< モンスターの攻撃効果: 恐怖させる*/
+#define RBE_PARALYZE 16 /*!< モンスターの攻撃効果: 麻痺させる*/
+#define RBE_LOSE_STR 17 /*!< モンスターの攻撃効果: 腕力を減少させる*/
+#define RBE_LOSE_INT 18 /*!< モンスターの攻撃効果: 知能を減少させる*/
+#define RBE_LOSE_WIS 19 /*!< モンスターの攻撃効果: 賢さを減少させる*/
+#define RBE_LOSE_DEX 20 /*!< モンスターの攻撃効果: 器用さを減少させる*/
+#define RBE_LOSE_CON 21 /*!< モンスターの攻撃効果: 耐久力を減少させる*/
+#define RBE_LOSE_CHR 22 /*!< モンスターの攻撃効果: 魅力を減少させる*/
+#define RBE_LOSE_ALL 23 /*!< モンスターの攻撃効果: 全ステータスを減少させる*/
+#define RBE_SHATTER 24 /*!< モンスターの攻撃効果: 粉砕する*/
+#define RBE_EXP_10 25 /*!< モンスターの攻撃効果: 経験値を減少(10d6+)させる*/
+#define RBE_EXP_20 26 /*!< モンスターの攻撃効果: 経験値を減少(20d6+)させる*/
+#define RBE_EXP_40 27 /*!< モンスターの攻撃効果: 経験値を減少(40d6+)させる*/
+#define RBE_EXP_80 28 /*!< モンスターの攻撃効果: 経験値を減少(80d6+)させる*/
+#define RBE_DISEASE 29 /*!< モンスターの攻撃効果: 病気にする*/
+#define RBE_TIME 30 /*!< モンスターの攻撃効果: 時間を逆戻りさせる*/
+#define RBE_DR_LIFE 31 /*!< モンスターの攻撃効果: 生命力を吸収する*/
+#define RBE_DR_MANA 32 /*!< モンスターの攻撃効果: 魔力を奪う*/
+#define RBE_SUPERHURT 33 /*!< モンスターの攻撃効果: 強力に攻撃する*/
+#define RBE_INERTIA 34 /*!< モンスターの攻撃効果: 減速させる*/
+#define RBE_STUN 35 /*!< モンスターの攻撃効果: 朦朧とさせる*/
/*** Monster flag values (hard-coded) ***/
/*
* New monster race bit flags
*/
-#define RF1_UNIQUE 0x00000001 /* Unique Monster */
-#define RF1_QUESTOR 0x00000002 /* Quest Monster */
-#define RF1_MALE 0x00000004 /* Male gender */
-#define RF1_FEMALE 0x00000008 /* Female gender */
-#define RF1_CHAR_CLEAR 0x00000010 /* Absorbs symbol */
-#define RF1_SHAPECHANGER 0x00000020 /* TY: shapechanger */
-#define RF1_ATTR_CLEAR 0x00000040 /* Absorbs color */
-#define RF1_ATTR_MULTI 0x00000080 /* Changes color */
-#define RF1_FORCE_DEPTH 0x00000100 /* Start at "correct" depth */
-#define RF1_FORCE_MAXHP 0x00000200 /* Start with max hitpoints */
-#define RF1_FORCE_SLEEP 0x00000400 /* Start out sleeping */
-#define RF1_FORCE_EXTRA 0x00000800 /* Start out something */
-#define RF1_ATTR_SEMIRAND 0x00001000 /* Color is determined semi-randomly */
-#define RF1_FRIENDS 0x00002000 /* Arrive with some friends */
-#define RF1_ESCORT 0x00004000 /* Arrive with an escort */
-#define RF1_ESCORTS 0x00008000 /* Arrive with some escorts */
-#define RF1_NEVER_BLOW 0x00010000 /* Never make physical blow */
-#define RF1_NEVER_MOVE 0x00020000 /* Never make physical move */
-#define RF1_RAND_25 0x00040000 /* Moves randomly (25%) */
-#define RF1_RAND_50 0x00080000 /* Moves randomly (50%) */
-#define RF1_ONLY_GOLD 0x00100000 /* Drop only gold */
-#define RF1_ONLY_ITEM 0x00200000 /* Drop only items */
-#define RF1_DROP_60 0x00400000 /* Drop an item/gold (60%) */
-#define RF1_DROP_90 0x00800000 /* Drop an item/gold (90%) */
-#define RF1_DROP_1D2 0x01000000 /* Drop 1d2 items/gold */
-#define RF1_DROP_2D2 0x02000000 /* Drop 2d2 items/gold */
-#define RF1_DROP_3D2 0x04000000 /* Drop 3d2 items/gold */
-#define RF1_DROP_4D2 0x08000000 /* Drop 4d2 items/gold */
-#define RF1_DROP_GOOD 0x10000000 /* Drop good items */
-#define RF1_DROP_GREAT 0x20000000 /* Drop great items */
-#define RF1_XXX2 0x40000000 /* XXX */
-#define RF1_XXX3 0x80000000 /* XXX */
+#define RF1_UNIQUE 0x00000001 /*!< モンスター特性: ユニーク / Unique Monster */
+#define RF1_QUESTOR 0x00000002 /*!< モンスター特性: クエストモンスター / Quest Monster */
+#define RF1_MALE 0x00000004 /*!< モンスター特性: 男性 / Male gender */
+#define RF1_FEMALE 0x00000008 /*!< モンスター特性: 女性 / Female gender */
+#define RF1_CHAR_CLEAR 0x00000010 /*!< モンスター特性: シンボルが完全に透明 / Absorbs symbol */
+#define RF1_SHAPECHANGER 0x00000020 /*!< モンスター特性: シンボルアルファベットがランダムになる / TY: shapechanger */
+#define RF1_ATTR_CLEAR 0x00000040 /*!< モンスター特性: シンボルカラーが透明色になる(地形と同じ色になる) / Absorbs color */
+#define RF1_ATTR_MULTI 0x00000080 /*!< モンスター特性: シンボルカラーがランダムに変化する(基本7色) / Changes color */
+#define RF1_FORCE_DEPTH 0x00000100 /*!< モンスター特性: 指定階未満では生成されない / Start at "correct" depth */
+#define RF1_FORCE_MAXHP 0x00000200 /*!< モンスター特性: 通常生成時必ずHPがダイス最大値になる / Start with max hitpoints */
+#define RF1_FORCE_SLEEP 0x00000400 /*!< モンスター特性: 通常生成時必ず寝ている / Start out sleeping */
+#define RF1_FORCE_EXTRA 0x00000800 /*!< モンスター特性: (未使用) / Start out something */
+#define RF1_ATTR_SEMIRAND 0x00001000 /*!< モンスター特性: シンボルカラーがランダムに変化する(15色) / Color is determined semi-randomly */
+#define RF1_FRIENDS 0x00002000 /*!< モンスター特性: 同種の友軍を用意している / Arrive with some friends */
+#define RF1_ESCORT 0x00004000 /*!< モンスター特性: 護衛を用意している/ Arrive with an escort */
+#define RF1_ESCORTS 0x00008000 /*!< モンスター特性: さらに大量の護衛を用意している / Arrive with some escorts */
+#define RF1_NEVER_BLOW 0x00010000 /*!< モンスター特性: 打撃を一切行わない / Never make physical blow */
+#define RF1_NEVER_MOVE 0x00020000 /*!< モンスター特性: 移動を一切行わない / Never make physical move */
+#define RF1_RAND_25 0x00040000 /*!< モンスター特性: ランダムに移動する確率+25%/ Moves randomly (25%) */
+#define RF1_RAND_50 0x00080000 /*!< モンスター特性: ランダムに移動する確率+50%/ Moves randomly (50%) */
+#define RF1_ONLY_GOLD 0x00100000 /*!< モンスター特性: 財宝しか落とさない / Drop only gold */
+#define RF1_ONLY_ITEM 0x00200000 /*!< モンスター特性: アイテムしか落とさない / Drop only items */
+#define RF1_DROP_60 0x00400000 /*!< モンスター特性: 落とすアイテム数60%で+1/ Drop an item/gold (60%) */
+#define RF1_DROP_90 0x00800000 /*!< モンスター特性: 落とすアイテム数90%で+1 / Drop an item/gold (90%) */
+#define RF1_DROP_1D2 0x01000000 /*!< モンスター特性: 落とすアイテム数+1d2 / Drop 1d2 items/gold */
+#define RF1_DROP_2D2 0x02000000 /*!< モンスター特性: 落とすアイテム数+2d2 / Drop 2d2 items/gold */
+#define RF1_DROP_3D2 0x04000000 /*!< モンスター特性: 落とすアイテム数+3d2 / Drop 3d2 items/gold */
+#define RF1_DROP_4D2 0x08000000 /*!< モンスター特性: 落とすアイテム数+4d2 / Drop 4d2 items/gold */
+#define RF1_DROP_GOOD 0x10000000 /*!< モンスター特性: 必ず上質品をドロップする / Drop good items */
+#define RF1_DROP_GREAT 0x20000000 /*!< モンスター特性: 必ず高級品をドロップする / Drop great items */
+#define RF1_XXX2 0x40000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF1_XXX3 0x80000000 /*!< モンスター特性: 未使用 / XXX */
/*
* New monster race bit flags
*/
-#define RF2_STUPID 0x00000001 /* Monster is stupid */
-#define RF2_SMART 0x00000002 /* Monster is smart */
-#define RF2_CAN_SPEAK 0x00000004 /* TY: can speak */
-#define RF2_REFLECTING 0x00000008 /* Reflects bolts */
-#define RF2_INVISIBLE 0x00000010 /* Monster avoids vision */
-#define RF2_COLD_BLOOD 0x00000020 /* Monster avoids infra */
-#define RF2_EMPTY_MIND 0x00000040 /* Monster avoids telepathy */
-#define RF2_WEIRD_MIND 0x00000080 /* Monster avoids telepathy? */
-#define RF2_MULTIPLY 0x00000100 /* Monster reproduces */
-#define RF2_REGENERATE 0x00000200 /* Monster regenerates */
-#define RF2_CHAR_MULTI 0x00000400 /* (Not implemented) */
-#define RF2_ATTR_ANY 0x00000800 /* TY: Attr_any */
-#define RF2_POWERFUL 0x00001000 /* Monster has strong breath */
-#define RF2_ELDRITCH_HORROR 0x00002000 /* Sanity-blasting horror */
-#define RF2_AURA_FIRE 0x00004000 /* Burns in melee */
-#define RF2_AURA_ELEC 0x00008000 /* Shocks in melee */
-#define RF2_OPEN_DOOR 0x00010000 /* Monster can open doors */
-#define RF2_BASH_DOOR 0x00020000 /* Monster can bash doors */
-#define RF2_PASS_WALL 0x00040000 /* Monster can pass walls */
-#define RF2_KILL_WALL 0x00080000 /* Monster can destroy walls */
-#define RF2_MOVE_BODY 0x00100000 /* Monster can move monsters */
-#define RF2_KILL_BODY 0x00200000 /* Monster can kill monsters */
-#define RF2_TAKE_ITEM 0x00400000 /* Monster can pick up items */
-#define RF2_KILL_ITEM 0x00800000 /* Monster can crush items */
-#define RF2_XXX1 0x01000000
-#define RF2_XXX2 0x02000000
-#define RF2_XXX3 0x04000000
-#define RF2_XXX4 0x08000000
-#define RF2_XXX5 0x10000000
-#define RF2_XXX6 0x20000000
-#define RF2_HUMAN 0x40000000 /* Human */
-#define RF2_QUANTUM 0x80000000 /* Monster has quantum behavior */
+#define RF2_STUPID 0x00000001 /*!< モンスター特性: 愚かな行動を取る / Monster is stupid */
+#define RF2_SMART 0x00000002 /*!< モンスター特性: 賢い行動を取る / Monster is smart */
+#define RF2_CAN_SPEAK 0x00000004 /*!< モンスター特性: 台詞をしゃべる / TY: can speak */
+#define RF2_REFLECTING 0x00000008 /*!< モンスター特性: 矢やボルト魔法を反射する / Reflects bolts */
+#define RF2_INVISIBLE 0x00000010 /*!< モンスター特性: 透明視力がないと見えない / Monster avoids vision */
+#define RF2_COLD_BLOOD 0x00000020 /*!< モンスター特性: 冷血動物である / Monster avoids infra */
+#define RF2_EMPTY_MIND 0x00000040 /*!< モンスター特性: 知性を持たない(テレパシー回避) / Monster avoids telepathy */
+#define RF2_WEIRD_MIND 0x00000080 /*!< モンスター特性: 異質な知性(テレパシーで感知づらい) / Monster avoids telepathy? */
+#define RF2_MULTIPLY 0x00000100 /*!< モンスター特性: 増殖する / Monster reproduces */
+#define RF2_REGENERATE 0x00000200 /*!< モンスター特性: 急激に回復する / Monster regenerates */
+#define RF2_CHAR_MULTI 0x00000400 /*!< モンスター特性: 未使用 / (Not implemented) */
+#define RF2_ATTR_ANY 0x00000800 /*!< モンスター特性: ATTR_MULTIの色数が増える / TY: Attr_any */
+#define RF2_POWERFUL 0x00001000 /*!< モンスター特性: 強力に魔法をあやつる / Monster has strong breath */
+#define RF2_ELDRITCH_HORROR 0x00002000 /*!< モンスター特性: 狂気を呼び起こす / Sanity-blasting horror */
+#define RF2_AURA_FIRE 0x00004000 /*!< モンスター特性: 火炎のオーラを持つ / Burns in melee */
+#define RF2_AURA_ELEC 0x00008000 /*!< モンスター特性: 電撃のオーラを持つ / Shocks in melee */
+#define RF2_OPEN_DOOR 0x00010000 /*!< モンスター特性: ドアを開けることができる / Monster can open doors */
+#define RF2_BASH_DOOR 0x00020000 /*!< モンスター特性: ドアを破壊することができる / Monster can bash doors */
+#define RF2_PASS_WALL 0x00040000 /*!< モンスター特性: 壁を抜けることができる / Monster can pass walls */
+#define RF2_KILL_WALL 0x00080000 /*!< モンスター特性: 壁を破壊して進む / Monster can destroy walls */
+#define RF2_MOVE_BODY 0x00100000 /*!< モンスター特性: 道中の弱いモンスターを押しのけることができる / Monster can move monsters */
+#define RF2_KILL_BODY 0x00200000 /*!< モンスター特性: 道中の弱いモンスターを殺して進む / Monster can kill monsters */
+#define RF2_TAKE_ITEM 0x00400000 /*!< モンスター特性: 道中のアイテムを拾う / Monster can pick up items */
+#define RF2_KILL_ITEM 0x00800000 /*!< モンスター特性: 道中のアイテムを破壊する / Monster can crush items */
+#define RF2_XXX1 0x01000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF2_XXX2 0x02000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF2_XXX3 0x04000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF2_XXX4 0x08000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF2_XXX5 0x10000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF2_XXX6 0x20000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF2_HUMAN 0x40000000 /*!< モンスター特性: 人間 / Human */
+#define RF2_QUANTUM 0x80000000 /*!< モンスター特性: 量子的な振る舞いをする / Monster has quantum behavior */
/*
* New monster race bit flags
*/
-#define RF3_ORC 0x00000001 /* Orc */
-#define RF3_TROLL 0x00000002 /* Troll */
-#define RF3_GIANT 0x00000004 /* Giant */
-#define RF3_DRAGON 0x00000008 /* Dragon */
-#define RF3_DEMON 0x00000010 /* Demon */
-#define RF3_UNDEAD 0x00000020 /* Undead */
-#define RF3_EVIL 0x00000040 /* Evil */
-#define RF3_ANIMAL 0x00000080 /* Animal */
-#define RF3_AMBERITE 0x00000100 /* TY: Amberite */
-#define RF3_GOOD 0x00000200 /* Good */
-#define RF3_AURA_COLD 0x00000400 /* Freezes in melee */
-#define RF3_NONLIVING 0x00000800 /* TY: Non-Living (?) */
-#define RF3_HURT_LITE 0x00001000 /* Hurt by lite */
-#define RF3_HURT_ROCK 0x00002000 /* Hurt by rock remover */
-#define RF3_HURT_FIRE 0x00004000 /* Hurt badly by fire */
-#define RF3_HURT_COLD 0x00008000 /* Hurt badly by cold */
-#define RF3_XXX16 0x00010000
-#define RF3_XXX17 0x00020000
-#define RF3_XXX18 0x00040000
-#define RF3_XXX19 0x00080000
-#define RF3_XXX20 0x00100000
-#define RF3_XXX21 0x00200000
-#define RF3_XXX22 0x00400000
-#define RF3_XXX23 0x00800000
-#define RF3_XXX24 0x01000000
-#define RF3_XXX25 0x02000000
-#define RF3_XXX26 0x04000000
-#define RF3_XXX27 0x08000000
-#define RF3_NO_FEAR 0x10000000 /* Cannot be scared */
-#define RF3_NO_STUN 0x20000000 /* Cannot be stunned */
-#define RF3_NO_CONF 0x40000000 /* Cannot be confused and resist confusion */
-#define RF3_NO_SLEEP 0x80000000 /* Cannot be slept */
+#define RF3_ORC 0x00000001 /*!< モンスター特性: オーク / Orc */
+#define RF3_TROLL 0x00000002 /*!< モンスター特性: トロル / Troll */
+#define RF3_GIANT 0x00000004 /*!< モンスター特性: 巨人 / Giant */
+#define RF3_DRAGON 0x00000008 /*!< モンスター特性: ドラゴン / Dragon */
+#define RF3_DEMON 0x00000010 /*!< モンスター特性: 悪魔 / Demon */
+#define RF3_UNDEAD 0x00000020 /*!< モンスター特性: アンデッド / Undead */
+#define RF3_EVIL 0x00000040 /*!< モンスター特性: 邪悪 / Evil */
+#define RF3_ANIMAL 0x00000080 /*!< モンスター特性: 動物 / Animal */
+#define RF3_AMBERITE 0x00000100 /*!< モンスター特性: アンバーの血族 / TY: Amberite */
+#define RF3_GOOD 0x00000200 /*!< モンスター特性: 善良 / Good */
+#define RF3_AURA_COLD 0x00000400 /*!< モンスター特性: 冷気オーラ / Freezes in melee */
+#define RF3_NONLIVING 0x00000800 /*!< モンスター特性: 無生物 / TY: Non-Living (?) */
+#define RF3_HURT_LITE 0x00001000 /*!< モンスター特性: 通常の光(GF_WEAK_LITE)でダメージを受ける / Hurt by lite */
+#define RF3_HURT_ROCK 0x00002000 /*!< モンスター特性: 岩石溶解(GF_KILL_WALL)でダメージを受ける / Hurt by rock remover */
+#define RF3_HURT_FIRE 0x00004000 /*!< モンスター特性: 火炎が弱点 / Hurt badly by fire */
+#define RF3_HURT_COLD 0x00008000 /*!< モンスター特性: 冷気が弱点 / Hurt badly by cold */
+#define RF3_ANGEL 0x00010000 /*!< モンスター特性: 天使 / ANGEL */
+#define RF3_XXX17 0x00020000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX18 0x00040000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX19 0x00080000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX20 0x00100000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX21 0x00200000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX22 0x00400000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX23 0x00800000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX24 0x01000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX25 0x02000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX26 0x04000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_XXX27 0x08000000 /*!< モンスター特性: 未使用 / XXX */
+#define RF3_NO_FEAR 0x10000000 /*!< モンスター特性: 恐怖しない / Cannot be scared */
+#define RF3_NO_STUN 0x20000000 /*!< モンスター特性: 朦朧としない / Cannot be stunned */
+#define RF3_NO_CONF 0x40000000 /*!< モンスター特性: 混乱しない / Cannot be confused and resist confusion */
+#define RF3_NO_SLEEP 0x80000000 /*!< モンスター特性: 眠らない / Cannot be slept */
/*
* New monster race bit flags
*/
-#define RF4_SHRIEK 0x00000001 /* Shriek for help */
-#define RF4_XXX1 0x00000002 /* XXX */
-#define RF4_DISPEL 0x00000004 /* Dispel magic */
-#define RF4_ROCKET 0x00000008 /* TY: Rocket */
-#define RF4_SHOOT 0x00000010 /* Fire missiles */
-#define RF4_XXX2 0x00000020
-#define RF4_XXX3 0x00000040
-#define RF4_XXX4 0x00000080
-#define RF4_BR_ACID 0x00000100 /* Breathe Acid */
-#define RF4_BR_ELEC 0x00000200 /* Breathe Elec */
-#define RF4_BR_FIRE 0x00000400 /* Breathe Fire */
-#define RF4_BR_COLD 0x00000800 /* Breathe Cold */
-#define RF4_BR_POIS 0x00001000 /* Breathe Poison */
-#define RF4_BR_NETH 0x00002000 /* Breathe Nether */
-#define RF4_BR_LITE 0x00004000 /* Breathe Lite */
-#define RF4_BR_DARK 0x00008000 /* Breathe Dark */
-#define RF4_BR_CONF 0x00010000 /* Breathe Confusion */
-#define RF4_BR_SOUN 0x00020000 /* Breathe Sound */
-#define RF4_BR_CHAO 0x00040000 /* Breathe Chaos */
-#define RF4_BR_DISE 0x00080000 /* Breathe Disenchant */
-#define RF4_BR_NEXU 0x00100000 /* Breathe Nexus */
-#define RF4_BR_TIME 0x00200000 /* Breathe Time */
-#define RF4_BR_INER 0x00400000 /* Breathe Inertia */
-#define RF4_BR_GRAV 0x00800000 /* Breathe Gravity */
-#define RF4_BR_SHAR 0x01000000 /* Breathe Shards */
-#define RF4_BR_PLAS 0x02000000 /* Breathe Plasma */
-#define RF4_BR_WALL 0x04000000 /* Breathe Force */
-#define RF4_BR_MANA 0x08000000 /* Breathe Mana */
-#define RF4_BA_NUKE 0x10000000 /* TY: Nuke Ball */
-#define RF4_BR_NUKE 0x20000000 /* TY: Toxic Breath */
-#define RF4_BA_CHAO 0x40000000 /* TY: Logrus Ball */
-#define RF4_BR_DISI 0x80000000 /* Breathe Disintegration */
+#define RF4_SHRIEK 0x00000001 /*!< モンスター能力: 叫ぶ / Shriek for help */
+#define RF4_XXX1 0x00000002 /*!< モンスター能力: 未使用 / XXX */
+#define RF4_DISPEL 0x00000004 /*!< モンスター能力: 魔力消去 / Dispel magic */
+#define RF4_ROCKET 0x00000008 /*!< モンスター能力: ロケット / TY: Rocket */
+#define RF4_SHOOT 0x00000010 /*!< モンスター能力: 射撃/ Fire missiles */
+#define RF4_XXX2 0x00000020 /*!< モンスター能力: 未使用 / XXX */
+#define RF4_XXX3 0x00000040 /*!< モンスター能力: 未使用 / XXX */
+#define RF4_XXX4 0x00000080 /*!< モンスター能力: 未使用 / XXX */
+#define RF4_BR_ACID 0x00000100 /*!< モンスター能力: 酸のブレス / Breathe Acid */
+#define RF4_BR_ELEC 0x00000200 /*!< モンスター能力: 電撃のブレス / Breathe Elec */
+#define RF4_BR_FIRE 0x00000400 /*!< モンスター能力: 火炎のブレス / Breathe Fire */
+#define RF4_BR_COLD 0x00000800 /*!< モンスター能力: 冷気のブレス / Breathe Cold */
+#define RF4_BR_POIS 0x00001000 /*!< モンスター能力: 毒のブレス / Breathe Poison */
+#define RF4_BR_NETH 0x00002000 /*!< モンスター能力: 地獄のブレス / Breathe Nether */
+#define RF4_BR_LITE 0x00004000 /*!< モンスター能力: 閃光のブレス / Breathe Lite */
+#define RF4_BR_DARK 0x00008000 /*!< モンスター能力: 暗黒のブレス / Breathe Dark */
+#define RF4_BR_CONF 0x00010000 /*!< モンスター能力: 混乱のブレス / Breathe Confusion */
+#define RF4_BR_SOUN 0x00020000 /*!< モンスター能力: 轟音のブレス / Breathe Sound */
+#define RF4_BR_CHAO 0x00040000 /*!< モンスター能力: カオスのブレス / Breathe Chaos */
+#define RF4_BR_DISE 0x00080000 /*!< モンスター能力: 劣化のブレス / Breathe Disenchant */
+#define RF4_BR_NEXU 0x00100000 /*!< モンスター能力: 因果混乱のブレス / Breathe Nexus */
+#define RF4_BR_TIME 0x00200000 /*!< モンスター能力: 時間逆転のブレス / Breathe Time */
+#define RF4_BR_INER 0x00400000 /*!< モンスター能力: 遅鈍のブレス / Breathe Inertia */
+#define RF4_BR_GRAV 0x00800000 /*!< モンスター能力: 重力のブレス / Breathe Gravity */
+#define RF4_BR_SHAR 0x01000000 /*!< モンスター能力: 破片のブレス / Breathe Shards */
+#define RF4_BR_PLAS 0x02000000 /*!< モンスター能力: プラズマのブレス / Breathe Plasma */
+#define RF4_BR_WALL 0x04000000 /*!< モンスター能力: フォースのブレス / Breathe Force */
+#define RF4_BR_MANA 0x08000000 /*!< モンスター能力: 魔力のブレス / Breathe Mana */
+#define RF4_BA_NUKE 0x10000000 /*!< モンスター能力: 放射能球 / TY: Nuke Ball */
+#define RF4_BR_NUKE 0x20000000 /*!< モンスター能力: 放射性廃棄物のブレス / TY: Toxic Breath */
+#define RF4_BA_CHAO 0x40000000 /*!< モンスター能力: ログルス球 / TY: Logrus Ball */
+#define RF4_BR_DISI 0x80000000 /*!< モンスター能力: 分解のブレス / Breathe Disintegration */
/*
* New monster race bit flags
*/
-#define RF5_BA_ACID 0x00000001 /* Acid Ball */
-#define RF5_BA_ELEC 0x00000002 /* Elec Ball */
-#define RF5_BA_FIRE 0x00000004 /* Fire Ball */
-#define RF5_BA_COLD 0x00000008 /* Cold Ball */
-#define RF5_BA_POIS 0x00000010 /* Poison Ball */
-#define RF5_BA_NETH 0x00000020 /* Nether Ball */
-#define RF5_BA_WATE 0x00000040 /* Water Ball */
-#define RF5_BA_MANA 0x00000080 /* Mana Storm */
-#define RF5_BA_DARK 0x00000100 /* Darkness Storm */
-#define RF5_DRAIN_MANA 0x00000200 /* Drain Mana */
-#define RF5_MIND_BLAST 0x00000400 /* Blast Mind */
-#define RF5_BRAIN_SMASH 0x00000800 /* Smash Brain */
-#define RF5_CAUSE_1 0x00001000 /* Cause Light Wound */
-#define RF5_CAUSE_2 0x00002000 /* Cause Serious Wound */
-#define RF5_CAUSE_3 0x00004000 /* Cause Critical Wound */
-#define RF5_CAUSE_4 0x00008000 /* Cause Mortal Wound */
-#define RF5_BO_ACID 0x00010000 /* Acid Bolt */
-#define RF5_BO_ELEC 0x00020000 /* Elec Bolt */
-#define RF5_BO_FIRE 0x00040000 /* Fire Bolt */
-#define RF5_BO_COLD 0x00080000 /* Cold Bolt */
-#define RF5_BA_LITE 0x00100000 /* StarBurst */
-#define RF5_BO_NETH 0x00200000 /* Nether Bolt */
-#define RF5_BO_WATE 0x00400000 /* Water Bolt */
-#define RF5_BO_MANA 0x00800000 /* Mana Bolt */
-#define RF5_BO_PLAS 0x01000000 /* Plasma Bolt */
-#define RF5_BO_ICEE 0x02000000 /* Ice Bolt */
-#define RF5_MISSILE 0x04000000 /* Magic Missile */
-#define RF5_SCARE 0x08000000 /* Frighten Player */
-#define RF5_BLIND 0x10000000 /* Blind Player */
-#define RF5_CONF 0x20000000 /* Confuse Player */
-#define RF5_SLOW 0x40000000 /* Slow Player */
-#define RF5_HOLD 0x80000000 /* Paralyze Player */
+#define RF5_BA_ACID 0x00000001 /*!< モンスター能力: アシッド・ボール / Acid Ball */
+#define RF5_BA_ELEC 0x00000002 /*!< モンスター能力: サンダー・ボール / Elec Ball */
+#define RF5_BA_FIRE 0x00000004 /*!< モンスター能力: ファイア・ボール / Fire Ball */
+#define RF5_BA_COLD 0x00000008 /*!< モンスター能力: アイス・ボール / Cold Ball */
+#define RF5_BA_POIS 0x00000010 /*!< モンスター能力: 悪臭雲 / Poison Ball */
+#define RF5_BA_NETH 0x00000020 /*!< モンスター能力: 地獄球 / Nether Ball */
+#define RF5_BA_WATE 0x00000040 /*!< モンスター能力: ウォーター・ボール / Water Ball */
+#define RF5_BA_MANA 0x00000080 /*!< モンスター能力: 魔力の嵐 / Mana Storm */
+#define RF5_BA_DARK 0x00000100 /*!< モンスター能力: 暗黒の嵐 / Darkness Storm */
+#define RF5_DRAIN_MANA 0x00000200 /*!< モンスター能力: 魔力吸収 / Drain Mana */
+#define RF5_MIND_BLAST 0x00000400 /*!< モンスター能力: 精神攻撃 / Blast Mind */
+#define RF5_BRAIN_SMASH 0x00000800 /*!< モンスター能力: 脳攻撃 / Smash Brain */
+#define RF5_CAUSE_1 0x00001000 /*!< モンスター能力: 軽傷の呪い / Cause Light Wound */
+#define RF5_CAUSE_2 0x00002000 /*!< モンスター能力: 重症の頃い / Cause Serious Wound */
+#define RF5_CAUSE_3 0x00004000 /*!< モンスター能力: 致命傷の呪い / Cause Critical Wound */
+#define RF5_CAUSE_4 0x00008000 /*!< モンスター能力: 秘孔を突く / Cause Mortal Wound */
+#define RF5_BO_ACID 0x00010000 /*!< モンスター能力: アシッド・ボルト / Acid Bolt */
+#define RF5_BO_ELEC 0x00020000 /*!< モンスター能力: サンダー・ボルト / Elec Bolt */
+#define RF5_BO_FIRE 0x00040000 /*!< モンスター能力: ファイア・ボルト / Fire Bolt */
+#define RF5_BO_COLD 0x00080000 /*!< モンスター能力: アイス・ボルト / Cold Bolt */
+#define RF5_BA_LITE 0x00100000 /*!< モンスター能力: スター・バースト / StarBurst */
+#define RF5_BO_NETH 0x00200000 /*!< モンスター能力: 地獄の矢 / Nether Bolt */
+#define RF5_BO_WATE 0x00400000 /*!< モンスター能力: ウォーター・ボルト / Water Bolt */
+#define RF5_BO_MANA 0x00800000 /*!< モンスター能力: 魔力の矢 / Mana Bolt */
+#define RF5_BO_PLAS 0x01000000 /*!< モンスター能力: プラズマ・ボルト / Plasma Bolt */
+#define RF5_BO_ICEE 0x02000000 /*!< モンスター能力: 極寒の矢 / Ice Bolt */
+#define RF5_MISSILE 0x04000000 /*!< モンスター能力: マジック・ミサイルt / Magic Missile */
+#define RF5_SCARE 0x08000000 /*!< モンスター能力: 恐慌 / Frighten Player */
+#define RF5_BLIND 0x10000000 /*!< モンスター能力: 盲目 / Blind Player */
+#define RF5_CONF 0x20000000 /*!< モンスター能力: 混乱 / Confuse Player */
+#define RF5_SLOW 0x40000000 /*!< モンスター能力: 減速 / Slow Player */
+#define RF5_HOLD 0x80000000 /*!< モンスター能力: 麻痺 / Paralyze Player */
/*
* New monster race bit flags
* Monster bit flags of racial resistances
* Note: Resist confusion was merged to RFR_NO_CONF
*/
-#define RFR_IM_ACID 0x00000001 /* Resist acid */
-#define RFR_IM_ELEC 0x00000002 /* Resist elec */
-#define RFR_IM_FIRE 0x00000004 /* Resist fire */
-#define RFR_IM_COLD 0x00000008 /* Resist cold */
-#define RFR_IM_POIS 0x00000010 /* Resist poison */
+#define RFR_IM_ACID 0x00000001 /* Immunity acid */
+#define RFR_IM_ELEC 0x00000002 /* Immunity elec */
+#define RFR_IM_FIRE 0x00000004 /* Immunity fire */
+#define RFR_IM_COLD 0x00000008 /* Immunity cold */
+#define RFR_IM_POIS 0x00000010 /* Immunity poison */
#define RFR_RES_LITE 0x00000020 /* Resist lite */
#define RFR_RES_DARK 0x00000040 /* Resist dark */
#define RFR_RES_NETH 0x00000080 /* Resist nether */
*/
#define is_seen(A) \
((bool)((A)->ml && (!ignore_unview || p_ptr->inside_battle || \
- (player_can_see_bold((A)->fy, (A)->fx) && projectable(py, px, (A)->fy, (A)->fx)))))
+ (player_can_see_bold((A)->fy, (A)->fx) && projectable(p_ptr->y, p_ptr->x, (A)->fy, (A)->fx)))))
/*** Option Definitions ***/
* Determine if player is on this grid
*/
#define player_bold(Y,X) \
- (((Y) == py) && ((X) == px))
+ (((Y) == p_ptr->y) && ((X) == p_ptr->x))
/*
* Grid based version of "player_bold()"
*/
#define player_grid(C) \
- ((C) == &cave[py][px])
+ ((C) == &cave[p_ptr->y][p_ptr->x])
#define cave_have_flag_bold(Y,X,INDEX) \
* The "(R,G,B)" codes are given in "fourths" of the "maximal" value,
* and should "gamma corrected" on most (non-Macintosh) machines.
*/
-#define TERM_DARK 0 /* 'd' */ /* 0,0,0 */
-#define TERM_WHITE 1 /* 'w' */ /* 4,4,4 */
-#define TERM_SLATE 2 /* 's' */ /* 2,2,2 */
-#define TERM_ORANGE 3 /* 'o' */ /* 4,2,0 */
-#define TERM_RED 4 /* 'r' */ /* 3,0,0 */
-#define TERM_GREEN 5 /* 'g' */ /* 0,2,1 */
-#define TERM_BLUE 6 /* 'b' */ /* 0,0,4 */
-#define TERM_UMBER 7 /* 'u' */ /* 2,1,0 */
-#define TERM_L_DARK 8 /* 'D' */ /* 1,1,1 */
-#define TERM_L_WHITE 9 /* 'W' */ /* 3,3,3 */
-#define TERM_VIOLET 10 /* 'v' */ /* 4,0,4 */
-#define TERM_YELLOW 11 /* 'y' */ /* 4,4,0 */
-#define TERM_L_RED 12 /* 'R' */ /* 4,0,0 */
-#define TERM_L_GREEN 13 /* 'G' */ /* 0,4,0 */
-#define TERM_L_BLUE 14 /* 'B' */ /* 0,4,4 */
-#define TERM_L_UMBER 15 /* 'U' */ /* 3,2,1 */
+#define TERM_DARK 0 /*!< 'd' - 黒 0,0,0 */
+#define TERM_WHITE 1 /*!< 'w' - 白 4,4,4 */
+#define TERM_SLATE 2 /*!< 's' - 灰 2,2,2 */
+#define TERM_ORANGE 3 /*!< 'o' - 橙 4,2,0 */
+#define TERM_RED 4 /*!< 'r' - 赤 3,0,0 */
+#define TERM_GREEN 5 /*!< 'g' - 緑 0,2,1 */
+#define TERM_BLUE 6 /*!< 'b' - 青 0,0,4 */
+#define TERM_UMBER 7 /*!< 'u' - 琥珀 2,1,0 */
+#define TERM_L_DARK 8 /*!< 'D' - 暗い灰 1,1,1 */
+#define TERM_L_WHITE 9 /*!< 'W' - 明るい灰 3,3,3 */
+#define TERM_VIOLET 10 /*!< 'v' - 紫 4,0,4 */
+#define TERM_YELLOW 11 /*!< 'y' - 黄 4,4,0 */
+#define TERM_L_RED 12 /*!< 'R' - 明るい赤 4,0,0 */
+#define TERM_L_GREEN 13 /*!< 'G' - 明るい緑 0,4,0 */
+#define TERM_L_BLUE 14 /*!< 'B' - 明るい青 0,4,4 */
+#define TERM_L_UMBER 15 /*!< 'U' - 明るい琥珀 3,2,1 */
/*
#define MUSIC_BASIC_QUEST 15
#define MUSIC_BASIC_ARENA 16
#define MUSIC_BASIC_BATTLE 17
-#define MUSIC_BASIC_MAX 18 /*!< BGM定義の最大数 */
+#define MUSIC_BASIC_QUEST_CLEAR 18
+#define MUSIC_BASIC_FINAL_QUEST_CLEAR 19
+#define MUSIC_BASIC_AMBUSH 20
+#define MUSIC_BASIC_MAX 21 /*!< BGM定義の最大数 */
/*** Sound constants ***/
#define SOUND_BUY 26
#define SOUND_SELL 27
#define SOUND_WARN 28
-#define SOUND_ROCKET 29 /* Somebody's shooting rockets */
-#define SOUND_N_KILL 30 /* The player kills a non-living/undead monster */
-#define SOUND_U_KILL 31 /* The player kills a unique */
-#define SOUND_QUEST 32 /* The player has just completed a quest */
-#define SOUND_HEAL 33 /* The player was healed a little bit */
-#define SOUND_X_HEAL 34 /* The player was healed full health */
-#define SOUND_BITE 35 /* A monster bites you */
-#define SOUND_CLAW 36 /* A monster claws you */
-#define SOUND_M_SPELL 37 /* A monster casts a miscellaneous spell */
-#define SOUND_SUMMON 38 /* A monster casts a summoning spell */
-#define SOUND_BREATH 39 /* A monster breathes */
-#define SOUND_BALL 40 /* A monster casts a ball / bolt spell */
-#define SOUND_M_HEAL 41 /* A monster heals itself somehow */
-#define SOUND_ATK_SPELL 42 /* A monster casts a misc. offensive spell */
-#define SOUND_EVIL 43 /* Something nasty has just happened! */
-#define SOUND_TOUCH 44 /* A monster touches you */
-#define SOUND_STING 45 /* A monster stings you */
-#define SOUND_CRUSH 46 /* A monster crushes / envelopes you */
-#define SOUND_SLIME 47 /* A monster drools/spits/etc on you */
-#define SOUND_WAIL 48 /* A monster wails */
-#define SOUND_WINNER 49 /* Just won the game! */
-#define SOUND_FIRE 50 /* An item was burned */
-#define SOUND_ACID 51 /* An item was destroyed by acid */
-#define SOUND_ELEC 52 /* An item was destroyed by electricity */
-#define SOUND_COLD 53 /* An item was shattered */
-#define SOUND_ILLEGAL 54 /* Illegal command attempted */
-#define SOUND_FAIL 55 /* Fail to get a spell off / activate an item */
-#define SOUND_WAKEUP 56 /* A monster wakes up */
-#define SOUND_INVULN 57 /* Invulnerability! */
-#define SOUND_FALL 58 /* Falling through a trapdoor... */
-#define SOUND_PAIN 59 /* A monster is in pain! */
-#define SOUND_DESTITEM 60 /* An item was destroyed by misc. means */
-#define SOUND_MOAN 61 /* A monster makes a moan/beg/insult attack */
-#define SOUND_SHOW 62 /* A monster makes a "show" attack */
-#define SOUND_UNUSED 63 /* (no sound for gaze attacks) */
-#define SOUND_EXPLODE 64 /* Something (or somebody) explodes */
-#define SOUND_GLASS 65 /* A glass feature was crashed */
+#define SOUND_ROCKET 29 /*!< Somebody's shooting rockets */
+#define SOUND_N_KILL 30 /*!< The player kills a non-living/undead monster */
+#define SOUND_U_KILL 31 /*!< The player kills a unique */
+#define SOUND_QUEST 32 /*!< The player has just completed a quest */
+#define SOUND_HEAL 33 /*!< The player was healed a little bit */
+#define SOUND_X_HEAL 34 /*!< The player was healed full health */
+#define SOUND_BITE 35 /*!< A monster bites you */
+#define SOUND_CLAW 36 /*!< A monster claws you */
+#define SOUND_M_SPELL 37 /*!< A monster casts a miscellaneous spell */
+#define SOUND_SUMMON 38 /*!< A monster casts a summoning spell */
+#define SOUND_BREATH 39 /*!< A monster breathes */
+#define SOUND_BALL 40 /*!< A monster casts a ball / bolt spell */
+#define SOUND_M_HEAL 41 /*!< A monster heals itself somehow */
+#define SOUND_ATK_SPELL 42 /*!< A monster casts a misc. offensive spell */
+#define SOUND_EVIL 43 /*!< Something nasty has just happened! */
+#define SOUND_TOUCH 44 /*!< A monster touches you */
+#define SOUND_STING 45 /*!< A monster stings you */
+#define SOUND_CRUSH 46 /*!< A monster crushes / envelopes you */
+#define SOUND_SLIME 47 /*!< A monster drools/spits/etc on you */
+#define SOUND_WAIL 48 /*!< A monster wails */
+#define SOUND_WINNER 49 /*!< Just won the game! */
+#define SOUND_FIRE 50 /*!< An item was burned */
+#define SOUND_ACID 51 /*!< An item was destroyed by acid */
+#define SOUND_ELEC 52 /*!< An item was destroyed by electricity */
+#define SOUND_COLD 53 /*!< An item was shattered */
+#define SOUND_ILLEGAL 54 /*!< Illegal command attempted */
+#define SOUND_FAIL 55 /*!< Fail to get a spell off / activate an item */
+#define SOUND_WAKEUP 56 /*!< A monster wakes up */
+#define SOUND_INVULN 57 /*!< Invulnerability! */
+#define SOUND_FALL 58 /*!< Falling through a trapdoor... */
+#define SOUND_PAIN 59 /*!< A monster is in pain! */
+#define SOUND_DESTITEM 60 /*!< An item was destroyed by misc. means */
+#define SOUND_MOAN 61 /*!< A monster makes a moan/beg/insult attack */
+#define SOUND_SHOW 62 /*!< A monster makes a "show" attack */
+#define SOUND_UNUSED 63 /*!< (no sound for gaze attacks) */
+#define SOUND_EXPLODE 64 /*!< Something (or somebody) explodes */
+#define SOUND_GLASS 65 /*!< A glass feature was crashed */
+#define SOUND_REFLECT 66 /*!< A bolt was reflected */
/*
* Mega-Hack -- maximum known sounds
*/
-#define SOUND_MAX 66 /*!< 効果音定義の最大数 */
+#define SOUND_MAX 67 /*!< 効果音定義の最大数 */
#define MAX_VIRTUE 18 /*!< 徳定義の最大数 */
/*
* Quest status
*/
-#define QUEST_STATUS_UNTAKEN 0
-#define QUEST_STATUS_TAKEN 1
-#define QUEST_STATUS_COMPLETED 2
-#define QUEST_STATUS_REWARDED 3
-#define QUEST_STATUS_FINISHED 4
-#define QUEST_STATUS_FAILED 5
-#define QUEST_STATUS_FAILED_DONE 6
-#define QUEST_STATUS_STAGE_COMPLETED 7
+#define QUEST_STATUS_UNTAKEN 0 /*!< クエストステータス状態:未発生*/
+#define QUEST_STATUS_TAKEN 1 /*!< クエストステータス状態:発生中*/
+#define QUEST_STATUS_COMPLETED 2 /*!< クエストステータス状態:達成*/
+#define QUEST_STATUS_REWARDED 3 /*!< クエストステータス状態:報酬受け取り前*/
+#define QUEST_STATUS_FINISHED 4 /*!< クエストステータス状態:完了*/
+#define QUEST_STATUS_FAILED 5 /*!< クエストステータス状態:失敗*/
+#define QUEST_STATUS_FAILED_DONE 6 /*!< クエストステータス状態:失敗完了*/
+#define QUEST_STATUS_STAGE_COMPLETED 7 /*!< クエストステータス状態:ステージ毎達成*/
/*
* Quest type
*/
-#define QUEST_TYPE_KILL_LEVEL 1
-#define QUEST_TYPE_KILL_ANY_LEVEL 2
-#define QUEST_TYPE_FIND_ARTIFACT 3
-#define QUEST_TYPE_FIND_EXIT 4
-#define QUEST_TYPE_KILL_NUMBER 5
-#define QUEST_TYPE_KILL_ALL 6
-#define QUEST_TYPE_RANDOM 7
-#define QUEST_TYPE_TOWER 8
+#define QUEST_TYPE_KILL_LEVEL 1 /*!< クエスト目的: 特定のユニークモンスターを倒す */
+#define QUEST_TYPE_KILL_ANY_LEVEL 2 /*!< クエスト目的: イベント受託時点でランダムで選ばれた特定のユニークモンスターを倒す */
+#define QUEST_TYPE_FIND_ARTIFACT 3 /*!< クエスト目的: 特定のアーティファクトを発見する */
+#define QUEST_TYPE_FIND_EXIT 4 /*!< クエスト目的: 脱出する */
+#define QUEST_TYPE_KILL_NUMBER 5 /*!< クエスト目的: モンスターを無差別に特定数倒す */
+#define QUEST_TYPE_KILL_ALL 6 /*!< クエスト目的: エリア中のすべてのモンスターを全て倒す */
+#define QUEST_TYPE_RANDOM 7 /*!< クエスト目的: ランダムクエストとして選ばれたユニーク1体を倒す */
+#define QUEST_TYPE_TOWER 8 /*!< クエスト目的: 複数のエリアの全てのモンスターを倒す */
/*
* Initialization flags
/*
* Quest flags
*/
-#define QUEST_FLAG_SILENT 0x01 /* no messages fro completion */
-#define QUEST_FLAG_PRESET 0x02 /* quest is outside the main dungeon */
-#define QUEST_FLAG_ONCE 0x04 /* quest is marked finished after leaving */
-#define QUEST_FLAG_TOWER 0x08 /* Tower quest is special */
+#define QUEST_FLAG_SILENT 0x01 /*!< クエストフラグ: クエスト進行に関する情報表示を抑止する / no messages from completion */
+#define QUEST_FLAG_PRESET 0x02 /*!< クエストフラグ: クエストがダンジョン外で発生する / quest is outside the main dungeon */
+#define QUEST_FLAG_ONCE 0x04 /*!< クエストフラグ: クエストがフロアを出た時点で完了する / quest is marked finished after leaving */
+#define QUEST_FLAG_TOWER 0x08 /*!< クエストフラグ: クエスト:塔の形式で進行する / Tower quest is special */
/*
* Available graphic modes
#define PARSE_ERROR_UNDEFINED_TERRAIN_TAG 10
#define PARSE_ERROR_MAX 11
-#define GINOU_SUDE 0
-#define GINOU_NITOURYU 1
-#define GINOU_RIDING 2
+#define GINOU_SUDE 0
+#define GINOU_NITOURYU 1
+#define GINOU_RIDING 2
+#define GINOU_SHIELD 3
+#define GINOU_TEMPMAX 4
+#define GINOU_MAX 10
/* Proficiency level */
#define EXP_LEVEL_UNSKILLED 0
#define NIKKI_WIZ_TELE 20
#define NIKKI_NAMED_PET 21
#define NIKKI_PAT_TELE 22
+#define NIKKI_ART_SCROLL 23
+
+#define NIKKI_WIZARD_LOG 24
+
#define RECORD_NAMED_PET_NAME 0
#define RECORD_NAMED_PET_UNNAME 1
#define MON_WYRM_SPACE 1064
#define MON_JIZOTAKO 1065
#define MON_TANUKI 1067
+#define MON_ALIEN_JURAL 1082
#define MON_HATOPOPPO 1083
#define MON_KOGAN 1096
#define MUSIC_DETECT 101
+#define SINGING_SONG_EFFECT(P_PTR) ((P_PTR)->magic_num1[0])
+#define INTERUPTING_SONG_EFFECT(P_PTR) ((P_PTR)->magic_num1[1])
+#define SINGING_COUNT(P_PTR) ((P_PTR)->magic_num1[2])
+#define SINGING_SONG_ID(P_PTR) ((P_PTR)->magic_num2[0])
#define music_singing(X) ((p_ptr->pclass == CLASS_BARD) && (p_ptr->magic_num1[0] == (X)))
#define music_singing_any() ((p_ptr->pclass == CLASS_BARD) && p_ptr->magic_num1[0])
#define DF1_CAVE 0x00000400L
#define DF1_CAVERN 0x00000800L
#define DF1_ARCADE 0x00001000L
-#define DF1_XXX13 0x00002000L
-#define DF1_XXX14 0x00004000L
+#define DF1_LAKE_ACID 0x00002000L
+#define DF1_LAKE_POISONOUS 0x00004000L
#define DF1_XXX15 0x00008000L
#define DF1_FORGET 0x00010000L
#define DF1_LAKE_WATER 0x00020000L
#define DF1_NO_MELEE 0x08000000L
#define DF1_CHAMELEON 0x10000000L
#define DF1_DARKNESS 0x20000000L
-#define DF1_XXX30 0x40000000L
-#define DF1_XXX31 0x80000000L
+#define DF1_ACID_RIVER 0x40000000L
+#define DF1_POISONOUS_RIVER 0x80000000L
-#define DF1_LAKE_MASK (DF1_LAKE_WATER | DF1_LAKE_LAVA | DF1_LAKE_RUBBLE | DF1_LAKE_TREE)
+#define DF1_LAKE_MASK (DF1_LAKE_WATER | DF1_LAKE_LAVA | DF1_LAKE_RUBBLE | DF1_LAKE_TREE | DF1_LAKE_POISONOUS | DF1_LAKE_ACID)
#define DUNGEON_ANGBAND 1
#define DUNGEON_GALGALS 2
/*
- * Flags for change floor mode
- */
-#define CFM_UP 0x0001 /* Move up */
-#define CFM_DOWN 0x0002 /* Move down */
-#define CFM_LONG_STAIRS 0x0004 /* Randomly occurred long stairs/shaft */
-#define CFM_XXX 0x0008 /* XXX */
-#define CFM_SHAFT 0x0010 /* Shaft */
-#define CFM_RAND_PLACE 0x0020 /* Arrive at random grid */
-#define CFM_RAND_CONNECT 0x0040 /* Connect with random stairs */
-#define CFM_SAVE_FLOORS 0x0080 /* Save floors */
-#define CFM_NO_RETURN 0x0100 /* Flee from random quest etc... */
-#define CFM_FIRST_FLOOR 0x0200 /* Create exit from the dungeon */
-
-
-/*
* Flags for save/load temporal saved floor file
*/
#define SLF_SECOND 0x0001 /* Called from another save/load function */
#define IS_TIM_ESP() (p_ptr->tim_esp || music_singing(MUSIC_MIND) || (p_ptr->concent >= CONCENT_TELE_THRESHOLD))
#define IS_TIM_STEALTH() (p_ptr->tim_stealth || music_singing(MUSIC_STEALTH))
+#define P_PTR_KI (p_ptr->magic_num1[0])
+
+#define IS_WIZARD_CLASS() \
+ (p_ptr->pclass == CLASS_MAGE || p_ptr->pclass == CLASS_HIGH_MAGE || p_ptr->pclass == CLASS_SORCERER || p_ptr->pclass == CLASS_MAGIC_EATER || p_ptr->pclass == CLASS_BLUE_MAGE)
+
/* Multishadow effects is determined by turn */
#define CHECK_MULTISHADOW() (p_ptr->multishadow && (turn & 1))
#define MAX_MACRO_TRIG 200 /*!< 登録を許すマクロ(トリガー)の最大数 */
/* Max size of screen dump buffer */
-#define SCREEN_BUF_SIZE 65536
+#define SCREEN_BUF_MAX_SIZE (4 * 65536)
/*
((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0]))
#define hex_spelling(X) \
((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0] & (1L << (X))))
+#define CASTING_HEX_FLAGS(P_PTR) ((P_PTR)->magic_num1[0])
+#define CASTING_HEX_NUM(P_PTR) ((P_PTR)->magic_num2[0])
+#define HEX_REVENGE_POWER(P_PTR) ((P_PTR)->magic_num1[2])
+#define HEX_REVENGE_TURN(P_PTR) ((P_PTR)->magic_num2[2])
+#define HEX_REVENGE_TYPE(P_PTR) ((P_PTR)->magic_num2[1])
+
/* 1st book */
#define HEX_BLESS 0
#define HEX_CURE_LIGHT 1
#define DICE_MULT 6
#define DICE_DIV 7
#define BASE_DAM 8
+
+/* Cheat Info Type */
+#define CHEAT_OBJECT 0
+#define CHEAT_MONSTER 1
+#define CHEAT_DUNGEON 2
+#define CHEAT_MISC 3
+
+#define COMMAND_ARG_REST_UNTIL_DONE -2 /*!<休憩コマンド引数 … 必要な分だけ回復 */
+#define COMMAND_ARG_REST_FULL_HEALING -1 /*!<休憩コマンド引数 … HPとMPが全回復するまで */
+
+/*!
+ * チートオプションの最大数 / Number of cheating options
+ */
+#define CHEAT_MAX 10