-/* File: defines.h */
-
-/*
- * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
- *
- * This software may be copied and distributed for educational, research,
- * and not for profit purposes provided that this copyright and statement
- * are included in all such copies. Other copyrights may also apply.
- */
-
-/* Purpose: global constants and macro definitions */
-
-
-/*
- * Do not edit this file unless you know *exactly* what you are doing.
- *
- * Some of the values in this file were chosen to preserve game balance,
- * while others are hard-coded based on the format of old save-files, the
- * definition of arrays in various places, mathematical properties, fast
- * computation, storage limits, or the format of external text files.
- *
- * Changing some of these values will induce crashes or memory errors or
- * savefile mis-reads. Most of the comments in this file are meant as
- * reminders, not complete descriptions, and even a complete knowledge
- * of the source may not be sufficient to fully understand the effects
- * of changing certain definitions.
- *
- * Lastly, note that the code does not always use the symbolic constants
- * below, and sometimes uses various hard-coded values that may not even
- * be defined in this file, but which may be related to definitions here.
- * This is of course bad programming practice, but nobody is perfect...
- *
- * For example, there are MANY things that depend on the screen being
- * 80x24, with the top line used for messages, the bottom line being
- * used for status, and exactly 22 lines used to show the dungeon.
- * Just because your screen can hold 46 lines does not mean that the
- * game will work if you try to use 44 lines to show the dungeon.
- *
- * You have been warned.
- */
-
-
-/*
- * Name of the version/variant
- */
-#define VERSION_NAME "Hengband"
-
-
-/*
- * "Program Version Number" of the game
- *
+/*!
+ * @file defines.h
+ * @brief 主要なマクロ定義ヘッダ / Purpose: global constants and macro definitions
+ * @date 2014/01/02
+ * @author
+ * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke\n
+ *\n
+ * This software may be copied and distributed for educational, research,\n
+ * and not for profit purposes provided that this copyright and statement\n
+ * are included in all such copies. Other copyrights may also apply.\n
+ * @details
+ * Do not edit this file unless you know *exactly* what you are doing.\n
+ *\n
+ * Some of the values in this file were chosen to preserve game balance,\n
+ * while others are hard-coded based on the format of old save-files, the\n
+ * definition of arrays in various places, mathematical properties, fast\n
+ * computation, storage limits, or the format of external text files.\n
+ *\n
+ * Changing some of these values will induce crashes or memory errors or\n
+ * savefile mis-reads. Most of the comments in this file are meant as\n
+ * reminders, not complete descriptions, and even a complete knowledge\n
+ * of the source may not be sufficient to fully understand the effects\n
+ * of changing certain definitions.\n
+ *\n
+ * Lastly, note that the code does not always use the symbolic constants\n
+ * below, and sometimes uses various hard-coded values that may not even\n
+ * be defined in this file, but which may be related to definitions here.\n
+ * This is of course bad programming practice, but nobody is perfect...\n
+ *\n
+ * For example, there are MANY things that depend on the screen being\n
+ * 80x24, with the top line used for messages, the bottom line being\n
+ * used for status, and exactly 22 lines used to show the dungeon.\n
+ * Just because your screen can hold 46 lines does not mean that the\n
+ * game will work if you try to use 44 lines to show the dungeon.\n
+ *\n
+ * You have been warned.\n
+ */
+
+#define VERSION_NAME "Hengband" /*!< バリアント名称 / Name of the version/variant */
+
+/*!
+ * @brief ゲームのバージョン番号定義 / "Program Version Number" of the game
+ * @details
+ * 本FAKE_VERSIONそのものは未使用である。Zangと整合性を合わせるための疑似的処理のためFAKE_VER_MAJORは実値-10が該当のバージョン番号となる。
+ * <pre>
* FAKE_VER_MAJOR=1,2 were reserved for ZAngband version 1.x.x/2.x.x .
- *
* Program Version of Hengband version is
* "(FAKE_VER_MAJOR-10).(FAKE_VER_MINOR).(FAKE_VER_PATCH)".
+ * </pre>
*/
#define FAKE_VERSION 0
-#define FAKE_VER_MAJOR 12
-#define FAKE_VER_MINOR 1
-#define FAKE_VER_PATCH 2
+#define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
+#define FAKE_VER_MINOR 1 /*!< ゲームのバージョン番号定義(マイナー番号) */
+#define FAKE_VER_PATCH 5 /*!< ゲームのバージョン番号定義(パッチ番号) */
-/*
- * "Savefile Version Number" for Hengband 1.1.1 and later
- *
+
+/*!
+ * @brief セーブファイル上のバージョン定義(メジャー番号) / "Savefile Version Number" for Hengband 1.1.1 and later
+ * @details
+ * <pre>
* First three digits may be same as the Program Version. But not
* always same. It means that newer version may preserves lower
* compatibility with the older version.
- *
* For example, newer Hengband 1.4.4 creates savefiles marked with
* Savefile Version 1.4.0.0 . It means that Hengband 1.4.0 can load a
* savefile of Hengband 1.4.4 (lower compatibility!).
- *
* 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 0
+#define H_VER_MAJOR 2 /*!< セーブファイル上のバージョン定義(メジャー番号) */
+#define H_VER_MINOR 1 /*!< セーブファイル上のバージョン定義(マイナー番号) */
+#define H_VER_PATCH 2 /*!< セーブファイル上のバージョン定義(パッチ番号) */
+#define H_VER_EXTRA 4 /*!< セーブファイル上のバージョン定義(エクストラ番号) */
+#define ANGBAND_2_8_1 /*!< Angband 2.8.1以降から有効な処理分岐を定義 */
+#define ZANGBAND /*!< Zangband 以降から有効な処理分岐を定義 */
-#define ANGBAND_2_8_1
-#define ZANGBAND
-
-/*
- * Number of grids in each block (vertically)
- * Probably hard-coded to 11, see "generate.c"
+/*!
+ * @brief generate.cで用いられる基本的なブロック数単位(垂直方向)
+ * Number of grids in each block (vertically) Probably hard-coded to 11, see "generate.c"
*/
#define BLOCK_HGT 11
-/*
- * Number of grids in each block (horizontally)
- * Probably hard-coded to 11, see "generate.c"
+/*!
+ * @brief generate.cで用いられる基本的なブロック数単位(水平方向)
+ * Number of grids in each block (horizontally) Probably hard-coded to 11, see "generate.c"
*/
#define BLOCK_WID 11
-
-/*
- * Number of grids in each panel (vertically)
- * Must be a multiple of BLOCK_HGT
+/*!
+ * @brief 表示上の基本的なパネル単位(垂直方向、BLOCK_HGTの倍数で設定すること)
+ * Number of grids in each panel (vertically) Must be a multiple of BLOCK_HGT
*/
#define PANEL_HGT 11
-/*
- * Number of grids in each panel (horizontally)
- * Must be a multiple of BLOCK_WID
+/*!
+ * @brief 表示上の基本的なパネル単位(水平方向、BLOCK_WIDの倍数で設定すること)
+ * Number of grids in each panel (horizontally) Must be a multiple of BLOCK_WID
*/
#define PANEL_WID 33
-
-/*
- * Number of grids used to display the dungeon (vertically).
- * Must be a multiple of 11, probably hard-coded to 22.
+/*!
+ * @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
-/*
- * Number of grids used to display the dungeon (horizontally).
- * Must be a multiple of 33, probably hard-coded to 66.
+/*!
+ * @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
-
-/*
- * Maximum dungeon height in grids, must be a multiple of SCREEN_HGT,
- * probably hard-coded to SCREEN_HGT * 3.
+/*!
+ * @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
-/*
- * Maximum dungeon width in grids, must be a multiple of SCREEN_WID,
- * probably hard-coded to SCREEN_WID * 3.
+/*!
+ * @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
-
/*
* Quest constants
*/
-#define MIN_RANDOM_QUEST 40
-#define MAX_RANDOM_QUEST 49
+#define MIN_RANDOM_QUEST 40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */
+#define MAX_RANDOM_QUEST 49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */
-/* Check is the quest index is "fixed" */
+/*!
+ * @brief 該当IDが固定クエストかどうかを判定する / Check is the quest index is "fixed"
+ * @param Q_IDX クエストID
+ * @return 固定クエストならばTRUEを返す
+ */
#define is_fixed_quest_idx(Q_IDX) (((Q_IDX) < MIN_RANDOM_QUEST) || ((Q_IDX) > MAX_RANDOM_QUEST))
-#define QUEST_TOWER1 5
-#define QUEST_TOWER2 6
-#define QUEST_TOWER3 7
-#define QUEST_OBERON 8
-#define QUEST_SERPENT 9
+#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)) /*<! 旧バージョンの闘技場敗北定義 */
-/*
- * Total number of stores (see "store.c", etc)
- */
-#define MAX_STORES 10
-
-/*
- * Number of buildings
- */
-#define MAX_BLDG 32
+#define MAX_STORES 10 /*!< store.c用の店舗の種類最大数 / Total number of stores (see "store.c", etc) */
+#define MAX_BLDG 32 /*!< 施設の種類最大数 / Number of buildings */
/*
* Store types
*/
-#define STORE_GENERAL 0
-#define STORE_ARMOURY 1
-#define STORE_WEAPON 2
-#define STORE_TEMPLE 3
-#define STORE_ALCHEMIST 4
-#define STORE_MAGIC 5
-#define STORE_BLACK 6
-#define STORE_HOME 7
-#define STORE_BOOK 8
-#define STORE_MUSEUM 9
-
-
-#define BUILDING_NON_MEMBER 0
-#define BUILDING_MEMBER 1
-#define BUILDING_OWNER 2
-
-/*
- * Total number of owners per store (see "store.c", etc)
- */
-#define MAX_OWNERS 32
-
-/*
- * Maximum number of player "sex" types (see "table.c", etc)
- */
-#define MAX_SEXES 2
-
-/*
- * Maximum number of player "class" types (see "table.c", etc)
- */
-#define MAX_CLASS 28
-
-#define MAX_SEIKAKU 12
-
-/* The number of "patrons" available (for Chaos Warriors) */
-#define MAX_PATRON 16
-
-/* Number of entries in the sanity-blast descriptions */
-#define MAX_SAN_HORROR 20
-#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
-#define REW_GREA_OBJ 5
-#define REW_CHAOS_WP 6
-#define REW_GOOD_OBS 7
-#define REW_GREA_OBS 8
-#define REW_TY_CURSE 9
-#define REW_SUMMON_M 10
-#define REW_H_SUMMON 11
-#define REW_DO_HAVOC 12
-#define REW_GAIN_ABL 13
-#define REW_LOSE_ABL 14
-#define REW_RUIN_ABL 15
-#define REW_AUGM_ABL 16
-#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
-
-/* 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
-#define MUT2_HP_TO_SP 0x40000000L
-#define MUT2_DISARM 0x80000000L
-
-
-
-/* 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
-
-
-/* Monk martial arts... */
-# define MAX_MA 17
-# define MA_KNEE 1
-# define MA_SLOW 2
-
-/* Mindcraft */
-#define MAX_MIND_POWERS 21
-
-/* Hallucination stuff */
+#define STORE_GENERAL 0 /*!< 店舗の種類: 雑貨屋 */
+#define STORE_ARMOURY 1 /*!< 店舗の種類: 防具屋 */
+#define STORE_WEAPON 2 /*!< 店舗の種類: 武器屋 */
+#define STORE_TEMPLE 3 /*!< 店舗の種類: 寺院 */
+#define STORE_ALCHEMIST 4 /*!< 店舗の種類: 錬金術の店 */
+#define STORE_MAGIC 5 /*!< 店舗の種類: 魔道具屋 */
+#define STORE_BLACK 6 /*!< 店舗の種類: ブラック・マーケット */
+#define STORE_HOME 7 /*!< 店舗の種類: 我が家 */
+#define STORE_BOOK 8 /*!< 店舗の種類: 書店 */
+#define STORE_MUSEUM 9 /*!< 店舗の種類: 博物館 */
+
+#define BUILDING_NON_MEMBER 0 /*!< 不明(現在未使用) */
+#define BUILDING_MEMBER 1 /*!< 不明(現在未使用) */
+#define BUILDING_OWNER 2 /*!< 施設の種族/職業条件が一致している状態値 */
+
+#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_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_HORROR 20 /*!< 恐ろしい対象の形容数(正常時) */
+#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_MIND_POWERS 21 /*!< 超能力の数 / Mindcraft */
+
+
#ifdef JP
-#define MAX_SILLY_ATTACK 41
+#define MAX_SILLY_ATTACK 41 /*!< 幻覚時のジョークメッセージ最大数 */
#else
-#define MAX_SILLY_ATTACK 29
+#define MAX_SILLY_ATTACK 29 /*!< Hallucination stuff */
#endif
-#define MIND_MINDCRAFTER 0
-#define MIND_KI 1
-#define MIND_BERSERKER 2
-#define MIND_MIRROR_MASTER 3
-#define MIND_NINJUTSU 4
+#define MIND_MINDCRAFTER 0 /*!< 特殊能力: 超能力 */
+#define MIND_KI 1 /*!< 特殊能力: 練気 */
+#define MIND_BERSERKER 2 /*!< 特殊能力: 怒り */
+#define MIND_MIRROR_MASTER 3 /*!< 特殊能力: 鏡魔法 */
+#define MIND_NINJUTSU 4 /*!< 特殊能力: 忍術 */
/*
* Size of memory reserved for initialization of some arrays
*/
-#define FAKE_NAME_SIZE 40 * 1024L
-#define FAKE_TEXT_SIZE 150 * 1024L
-#define FAKE_TAG_SIZE 10 * 1024L
+#define FAKE_NAME_SIZE 40 * 1024L /*!< ゲーム情報の種別毎に用意される名前用バッファの容量 */
+#define FAKE_TEXT_SIZE 150 * 1024L /*!< ゲーム情報の種別毎に用意されるテキスト用バッファの容量 */
+#define FAKE_TAG_SIZE 10 * 1024L /*!< ゲーム情報の種別毎に用意されるタグ用バッファの容量 */
+#define MAX_HISCORES 999 /*!< スコア情報保存の最大数 / Maximum number of high scores in the high score file */
-/*
- * Maximum number of high scores in the high score file
- */
-#define MAX_HISCORES 999
-/*
- * Maximum dungeon level. The player can never reach this level
+/*!
+ * @brief ダンジョンの最深層 / Maximum dungeon level.
+ * @details
+ * The player can never reach this level
* in the dungeon, and this value is used for various calculations
* involving object and monster creation. It must be at least 100.
* Setting it below 128 may prevent the creation of some objects.
*/
-#define MAX_DEPTH 128
+#define MAX_DEPTH 128
+#define MAX_SAVED_FLOORS 20 /*!< 保存フロアの最大数 / Maximum number of saved floors. */
-/*
- * Maximum number of saved floors.
- */
-#define MAX_SAVED_FLOORS 20
-
-
-/*
- * Maximum size of the "lite" array (see "cave.c")
- * Note that the "lite radius" will NEVER exceed 14, and we would
+/*!
+ * @brief プレイヤー用光源処理配列サイズ / Maximum size of the "lite" array (see "cave.c")
+ * @details Note that the "lite radius" will NEVER exceed 14, and we would
* never require more than 581 entries in the array for circular "lite".
*/
#define LITE_MAX 600
-/*
- * Maximum size of the "mon_lite" array (see "cave.c")
- * Note that the "view radius" will NEVER exceed 20, monster illumination
+/*!
+ * @brief モンスター用光源処理配列サイズ / Maximum size of the "mon_lite" array (see "cave.c")
+ * @details Note that the "view radius" will NEVER exceed 20, monster illumination
* flags are dependent on CAVE_VIEW, and even if the "view" was octagonal,
* we would never require more than 1520 entries in the array.
*/
#define MON_LITE_MAX 1536
-/*
- * Maximum size of the "view" array (see "cave.c")
- * Note that the "view radius" will NEVER exceed 20, and even if the "view"
+/*!
+ * @brief 視界処理配列サイズ / Maximum size of the "view" array (see "cave.c")
+ * @details Note that the "view radius" will NEVER exceed 20, and even if the "view"
* was octagonal, we would never require more than 1520 entries in the array.
*/
#define VIEW_MAX 1536
-/*
- * Maximum size of the "temp" array (see "cave.c")
- * We must be as large as "VIEW_MAX" and "LITE_MAX" for proper functioning
+/*!
+ * @brief 視界及び光源の過渡処理配列サイズ / Maximum size of the "temp" array (see "cave.c")
+ * @details We must be as large as "VIEW_MAX" and "LITE_MAX" for proper functioning
* of "update_view()" and "update_lite()". We must also be as large as the
* largest illuminatable room, but no room is larger than 800 grids. We
* must also be large enough to allow "good enough" use as a circular queue,
*/
#define TEMP_MAX 2298
-/*
- * Maximum size of the "redraw" array (see "cave.c")
- * We must be large for proper functioning of delayed redrawing.
+/*!
+ * @brief 再描画処理用配列サイズ / Maximum size of the "redraw" array (see "cave.c")
+ * @details We must be large for proper functioning of delayed redrawing.
* We must also be as large as two times of the largest view area.
* Note that maximum view grids are 1149 entries.
*/
#define REDRAW_MAX 2298
+#define KEYMAP_MODE_ORIG 0 /*!< オリジナルキー配置 / Mode for original keyset commands */
+#define KEYMAP_MODE_ROGUE 1 /*!< ローグライクキー配置 / Mode for roguelike keyset commands */
+#define KEYMAP_MODES 2 /*!< キー配置の数 / Number of keymap modes */
-/*
- * Number of keymap modes
- */
-#define KEYMAP_MODES 2
-/*
- * Mode for original keyset commands
- */
-#define KEYMAP_MODE_ORIG 0
-/*
- * Mode for roguelike keyset commands
- */
-#define KEYMAP_MODE_ROGUE 1
-/*
- * OPTION: Maximum number of macros (see "io.c")
- * Default: assume at most 256 macros are used
+/*!
+ * @brief マクロ登録の最大数 / Maximum number of macros (see "io.c")
+ * @note Default: assume at most 256 macros are used
*/
#define MACRO_MAX 256
-/*
- * OPTION: Maximum number of "quarks" (see "io.c")
- * Default: assume at most 512 different inscriptions are used
+/*!
+ * @brief 銘情報の最大数 / Maximum number of "quarks" (see "io.c")
+ * @note
+ * Default: assume at most 512 different inscriptions are used<br>
+ * Was 512... 256 quarks added for random artifacts<br>
*/
#define QUARK_MAX 768
-/* Was 512... 256 quarks added for random artifacts */
/*
* OPTION: Maximum number of messages to remember (see "io.c")
#define STORE_SHUFFLE 21 /* 1/Chance (per day) of an owner changing */
#define STORE_TICKS 1000 /* Number of ticks between turnovers */
-
-/*
- * Random energy
- */
+/*! @brief 消費する行動エネルギー値を正規乱数で返す(中央100/分散25) / Random energy */
#define ENERGY_NEED() (randnor(100, 25))
-
-/*
- * Extract energy from speed (Assumes that SPEED is unsigned)
- */
-#define SPEED_TO_ENERGY(SPEED) \
- (((SPEED) > 199) ? 49 : extract_energy[(SPEED)])
+/*! @brief 加速値に応じた基本行動エネルギー消費量を返す / Extract energy from speed (Assumes that SPEED is unsigned) */
+#define SPEED_TO_ENERGY(SPEED) (((SPEED) > 199) ? 49 : extract_energy[(SPEED)])
/*
* Misc constants
*/
-#define TOWN_DAWN 10000 /* 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 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 */
-#define BIAS_ELEC 1
-#define BIAS_POIS 2
-#define BIAS_FIRE 3
-#define BIAS_COLD 4
-#define BIAS_ACID 5
-#define BIAS_STR 6
-#define BIAS_INT 7
-#define BIAS_WIS 8
-#define BIAS_DEX 9
-#define BIAS_CON 10
-#define BIAS_CHR 11
-#define BIAS_CHAOS 12
-#define BIAS_PRIESTLY 13
-#define BIAS_NECROMANTIC 14
-#define BIAS_LAW 15
-#define BIAS_ROGUE 16
-#define BIAS_MAGE 17
-#define BIAS_WARRIOR 18
-#define BIAS_RANGER 19
-
+#define BIAS_ELEC 1 /*!< ランダムアーティファクトバイアス:電撃 */
+#define BIAS_POIS 2 /*!< ランダムアーティファクトバイアス:毒 */
+#define BIAS_FIRE 3 /*!< ランダムアーティファクトバイアス:火炎 */
+#define BIAS_COLD 4 /*!< ランダムアーティファクトバイアス:冷気 */
+#define BIAS_ACID 5 /*!< ランダムアーティファクトバイアス:酸 */
+#define BIAS_STR 6 /*!< ランダムアーティファクトバイアス:腕力 */
+#define BIAS_INT 7 /*!< ランダムアーティファクトバイアス:知力 */
+#define BIAS_WIS 8 /*!< ランダムアーティファクトバイアス:賢さ */
+#define BIAS_DEX 9 /*!< ランダムアーティファクトバイアス:器用さ */
+#define BIAS_CON 10 /*!< ランダムアーティファクトバイアス:耐久 */
+#define BIAS_CHR 11 /*!< ランダムアーティファクトバイアス:魅力 */
+#define BIAS_CHAOS 12 /*!< ランダムアーティファクトバイアス:混沌 */
+#define BIAS_PRIESTLY 13 /*!< ランダムアーティファクトバイアス:プリースト系 */
+#define BIAS_NECROMANTIC 14 /*!< ランダムアーティファクトバイアス:死霊 */
+#define BIAS_LAW 15 /*!< ランダムアーティファクトバイアス:法 */
+#define BIAS_ROGUE 16 /*!< ランダムアーティファクトバイアス:盗賊系 */
+#define BIAS_MAGE 17 /*!< ランダムアーティファクトバイアス:メイジ系 */
+#define BIAS_WARRIOR 18 /*!< ランダムアーティファクトバイアス:戦士系 */
+#define BIAS_RANGER 19 /*!< ランダムアーティファクトバイアス:レンジャー系 */
+#define MAX_BIAS 20 /*!< ランダムアーティファクトバイアス:最大数 */
/*** Pet constants ***/
/*
- * Commands
+ * ペットに関するコマンド群 / Pet Commands
*/
-#define PET_DISMISS 1
-#define PET_TARGET 2
-#define PET_STAY_CLOSE 3
-#define PET_FOLLOW_ME 4
-#define PET_SEEK_AND_DESTROY 5
-#define PET_ALLOW_SPACE 6
-#define PET_STAY_AWAY 7
-#define PET_OPEN_DOORS 8
-#define PET_TAKE_ITEMS 9
-#define PET_TELEPORT 10
-#define PET_ATTACK_SPELL 11
-#define PET_SUMMON_SPELL 12
-#define PET_BALL_SPELL 13
-#define PET_RIDING 14
-#define PET_NAME 15
-#define PET_RYOUTE 16
+#define PET_DISMISS 1 /*!< ペットに関するコマンド: ペットを離す */
+#define PET_TARGET 2 /*!< ペットに関するコマンド: ペットのターゲットを指定 */
+#define PET_STAY_CLOSE 3 /*!< ペットに関するコマンド: 近くにいろ */
+#define PET_FOLLOW_ME 4 /*!< ペットに関するコマンド: ついて来い */
+#define PET_SEEK_AND_DESTROY 5 /*!< ペットに関するコマンド: 敵を見つけて倒せ */
+#define PET_ALLOW_SPACE 6 /*!< ペットに関するコマンド: 少し離れていろ */
+#define PET_STAY_AWAY 7 /*!< ペットに関するコマンド: 離れていろ */
+#define PET_OPEN_DOORS 8 /*!< ペットに関するコマンド: ドア解放の許可 */
+#define PET_TAKE_ITEMS 9 /*!< ペットに関するコマンド: アイテム取得の許可 */
+#define PET_TELEPORT 10 /*!< ペットに関するコマンド: テレポートの許可 */
+#define PET_ATTACK_SPELL 11 /*!< ペットに関するコマンド: 攻撃魔法の許可 */
+#define PET_SUMMON_SPELL 12 /*!< ペットに関するコマンド: 召喚魔法の許可 */
+#define PET_BALL_SPELL 13 /*!< ペットに関するコマンド: プレイヤーを魔法に巻き込む許可 */
+#define PET_RIDING 14 /*!< ペットに関するコマンド: ペットに乗る */
+#define PET_NAME 15 /*!< ペットに関するコマンド: ペットに名前をつける */
+#define PET_RYOUTE 16 /*!< ペットに関するコマンド: 騎乗中に両手で武器を使うかどうか */
/*
* Follow distances
#define NASTY_MON_MAX 3
#define NASTY_MON_PLUS_MAX 25
-/* 1/x chance of hurting even if invulnerable! */
-#define PENETRATE_INVULNERABILITY 13
+#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 */
-
+#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 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 */
-/*
- * The town starts out with 4 residents during the day
- */
-#define MIN_M_ALLOC_TD 4
-
-/*
- * The town starts out with 8 residents during the night
- */
-#define MIN_M_ALLOC_TN 8
-
-
-/*
+/*!
+ * @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
#define ART_PALANTIR 15
#define ART_STONE_LORE 17
#define ART_FLY_STONE 147
-
+#define ART_ORB_OF_FATE 245
/* Amulets */
#define ART_CARLAMMAS 4
#define ART_INGWE 5
#define ART_GHB 192
#define ART_DASAI 200
#define ART_KESHO 204
+#define ART_MILIM 246
/* Shields */
#define ART_THORIN 30
#define ART_KAMUI 198
#define ART_GOURYU 207
#define ART_EOWYN 216
+#define ART_NANACHO 248
+#define ART_ROBINTON 251
/* Polearms */
#define ART_THEODEN 93
/* xxx */
/* Body Armor */
-#define EGO_RESIST_ACID 4
-#define EGO_RESIST_ELEC 5
-#define EGO_RESIST_FIRE 6
-#define EGO_RESIST_COLD 7
+#define EGO_A_MORGUL 4
+#define EGO_A_DEMON 5
+#define EGO_DRUID 6
+#define EGO_OLOG 7
#define EGO_RESISTANCE 8
#define EGO_ELVENKIND 9
#define EGO_DWARVEN 10
#define EGO_PERMANENCE 11
#define EGO_YOIYAMI 12
-/* xxx */
+#define EGO_URUKISH 13
/* xxx */
/* xxx */
#define EGO_ENDURANCE 20
#define EGO_REFLECTION 21
#define EGO_NIGHT_DAY 22
+#define EGO_S_PROTECTION 238
+#define EGO_S_DWARVEN 239
/* Crowns and Helms */
#define EGO_DARK 23
-#define EGO_INTELLIGENCE 24
-#define EGO_WISDOM 25
-#define EGO_BEAUTY 26
+#define EGO_BRILLIANCE 24
+#define EGO_H_PROTECTION 25
+#define EGO_H_DEMON 26
#define EGO_MAGI 27
#define EGO_MIGHT 28
#define EGO_LORDLINESS 29
#define EGO_TELEPATHY 33
#define EGO_REGENERATION 34
#define EGO_TELEPORTATION 35
-#define EGO_STUPIDITY 36
-#define EGO_NAIVETY 37
-#define EGO_UGLINESS 38
+#define EGO_FOOL 36
+#define EGO_BASILISK 37
+#define EGO_ANCIENT_CURSE 38
#define EGO_SICKLINESS 39
/* Cloaks */
#define EGO_AURA_ELEC 47
#define EGO_AURA_COLD 128
#define EGO_BAT 129
+#define EGO_NAZGUL 240
/* Gloves */
#define EGO_FREE_ACTION 48
#define EGO_CHAOTIC 77
#define EGO_SHARPNESS 78
#define EGO_EARTHQUAKES 79
-#define EGO_SLAY_ANIMAL 80
-#define EGO_SLAY_EVIL 81
-#define EGO_SLAY_UNDEAD 82
-#define EGO_SLAY_DEMON 83
-#define EGO_SLAY_ORC 84
-#define EGO_SLAY_TROLL 85
-#define EGO_SLAY_GIANT 86
-#define EGO_SLAY_DRAGON 87
+#define EGO_XXX_1 80
+#define EGO_XXX_2 81
+#define EGO_XXX_3 82
+#define EGO_XXX_4 83
+#define EGO_XXX_5 84
+#define EGO_XXX_6 85
+#define EGO_XXX_7 86
+#define EGO_WEIRD 87
#define EGO_KILL_ANIMAL 88
#define EGO_KILL_EVIL 89
#define EGO_KILL_UNDEAD 90
#define EGO_TRUMP 98
#define EGO_PATTERN 99
#define EGO_DIGGING 100
-#define EGO_SLAY_HUMAN 101
+#define EGO_DEMON 101
#define EGO_MORGUL 102
#define EGO_KILL_HUMAN 103
#define EGO_AMU_SLOW_D 210
#define EGO_AMU_INFRA 211
#define EGO_AMU_SEE_INVIS 212
-#define EGO_AMU_HOLD_LIFE 213
+#define EGO_AMU_HOLD_EXP 213
#define EGO_AMU_DRAIN_EXP 214
#define EGO_AMU_FOOL 215
#define EGO_AMU_AGGRAVATE 216
#define EGO_AMU_GREAT 235
#define EGO_AMU_DETECTION 236
#define EGO_AMU_NAIVETY 237
+// MAX 240
/* Activation effects for random artifacts */
#define ACT_SUNLIGHT 1
#define ACT_BR_FIRE 38
#define ACT_BR_COLD 39
#define ACT_BR_DRAGON 40
-/* 33 - 50 unused */
+#define ACT_BA_FIRE_4 41
+#define ACT_BA_NUKE_1 42
+/* 42 - 50 unused */
#define ACT_CONFUSE 51
#define ACT_SLEEP 52
#define ACT_QUAKE 53
#define ACT_CURE_LW 81
#define ACT_CURE_MW 82
#define ACT_CURE_POISON 83
-#define ACT_REST_LIFE 84
+#define ACT_REST_EXP 84
#define ACT_REST_ALL 85
#define ACT_CURE_700 86
#define ACT_CURE_1000 87
#define ACT_DETECT_ALL_MONS 137
#define ACT_ULTIMATE_RESIST 138
/* 127 -> unused */
+#define ACT_FALLING_STAR 246
+#define ACT_STRAIN_HASTE 247
+#define ACT_TELEPORT_LEVEL 248
+#define ACT_GRAND_CROSS 249
#define ACT_CAST_OFF 250
#define ACT_FISHING 251
#define ACT_INROU 252
#define SV_LIGHT_XBOW 23 /* (x3) */
#define SV_HEAVY_XBOW 24 /* (x4) */
#define SV_CRIMSON 50 /* (x0) */
+#define SV_HARP 51 /* (x0) */
#define SV_NAMAKE_BOW 63 /* (x3) */
/* The "sval" codes for TV_DIGGING */
#define SV_FOOD_PINT_OF_WINE 39
-/*
- * Special "sval" limit -- first "normal" food
- */
-#define SV_FOOD_MIN_FOOD 32
+#define SV_ROD_MIN_DIRECTION 12 /*!< この値以降の小項目IDを持ったロッドは使用時にターゲットを要求する / Special "sval" limit -- first "aimed" rod */
-/*
- * Special "sval" limit -- first "aimed" rod
- */
-#define SV_ROD_MIN_DIRECTION 12
-
-/*
- * 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
#define CAVE_MNDK 0x8000 /* Darken by monster */
/* Used only while cave generation */
-#define CAVE_FLOOR 0x0200
+#define CAVE_FLOOR 0x0200 /*!< フロア属性のあるマス */
#define CAVE_EXTRA 0x0400
#define CAVE_INNER 0x0800
#define CAVE_OUTER 0x1000
* 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_BEAM 0x02 /*!< 遠隔攻撃特性: ビーム範囲を持つ / Work as a beam weapon (affect every grid passed through) */
#define PROJECT_THRU 0x04
#define PROJECT_STOP 0x08
-#define PROJECT_GRID 0x10
-#define PROJECT_ITEM 0x20
-#define PROJECT_KILL 0x40
+#define PROJECT_GRID 0x10 /*!< 遠隔攻撃特性: 射程内の地形に影響を及ぼす / Affect each grid in the "blast area" in some way */
+#define PROJECT_ITEM 0x20 /*!< 遠隔攻撃特性: 射程内のアイテムに影響を及ぼす / Affect each object in the "blast area" in some way */
+#define PROJECT_KILL 0x40 /*!< 遠隔攻撃特性: 射程内のモンスターに影響を及ぼす / Affect each monster in the "blast area" in some way */
#define PROJECT_HIDE 0x80
#define PROJECT_DISI 0x100
#define PROJECT_PLAYER 0x200
#define PROJECT_AIMED 0x400
-#define PROJECT_REFLECTABLE 0x800
+#define PROJECT_REFLECTABLE 0x800 /*!< 遠隔攻撃特性: 反射可能(ボルト系魔法に利用) / Refrectable spell attacks (used for "bolts") */
#define PROJECT_NO_HANGEKI 0x1000
#define PROJECT_PATH 0x2000
#define PROJECT_FAST 0x4000
/*
* 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
/*
* 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 */
+#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 /*!< モンスターの学習フラグ: プレイヤーにMPがない */
+
+
+/*
+ * 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 */
+
+
+/*
+ * p_ptr->noticeに充てるアイテム更新処理要求 / 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
+ * p_ptr->updateに充てるプレイヤーステータス更新処理要求 / Bit flags for the "p_ptr->update" variable
*/
-#define PU_BONUS 0x00000001L /* Calculate bonuses */
-#define PU_TORCH 0x00000002L /* Calculate torch radius */
+#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 */
+#define PU_HP 0x00000010L /*!< ステータス更新フラグ: HP / Calculate chp and mhp */
+#define PU_MANA 0x00000020L /*!< ステータス更新フラグ: MP / 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 */
+#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 */
+#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 */
+#define PU_FLOW 0x10000000L /*!< ステータス更新フラグ: プレイヤーから各マスへの到達距離 / Update flow */
/* xxx (many) */
/*
* 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 */
+#define PW_BORG_1 0x00004000L /*!<サブウィンドウ描画フラグ: ボーグメッセージ / Display borg messages */
+#define PW_BORG_2 0x00008000L /*!<サブウィンドウ描画フラグ: ボーグステータス / Display borg status */
/*
* Bit flags for the place_monster_???() (etc)
/*
- * Bit flags for the "p_ptr->special_attack" variable. -LM-
+ * p_ptr->special_attackによるプレイヤーの攻撃状態の定義 / Bit flags for the "p_ptr->special_attack" variable. -LM-
*
* Note: The elemental and poison attacks should be managed using the
* function "set_ele_attack", in spell2.c. This provides for timeouts and
* prevents the player from getting more than one at a time.
*/
-#define ATTACK_CONFUSE 0x00000001
-#define ATTACK_XXX1 0x00000002
-#define ATTACK_XXX2 0x00000004
-#define ATTACK_XXX3 0x00000008
-#define ATTACK_ACID 0x00000010
-#define ATTACK_ELEC 0x00000020
-#define ATTACK_FIRE 0x00000040
-#define ATTACK_COLD 0x00000080
-#define ATTACK_POIS 0x00000100
-#define ATTACK_HOLY 0x00000200
-#define ATTACK_SUIKEN 0x00000400
-
-
-#define DEFENSE_ACID 0x00000001
-#define DEFENSE_ELEC 0x00000002
-#define DEFENSE_FIRE 0x00000004
-#define DEFENSE_COLD 0x00000008
-#define DEFENSE_POIS 0x00000010
-#define KAMAE_GENBU 0x00000020
-#define KAMAE_BYAKKO 0x00000040
-#define KAMAE_SEIRYU 0x00000080
-#define KAMAE_SUZAKU 0x00000100
-#define KATA_IAI 0x00000200
-#define KATA_FUUJIN 0x00000400
-#define KATA_KOUKIJIN 0x00000800
-#define KATA_MUSOU 0x00001000
-#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_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 ATTACK_CONFUSE 0x00000001 /*!< プレイヤーのステータス:混乱打撃 */
+#define ATTACK_XXX1 0x00000002 /*!< プレイヤーのステータス:未使用1 */
+#define ATTACK_XXX2 0x00000004 /*!< プレイヤーのステータス:未使用2 */
+#define ATTACK_XXX3 0x00000008 /*!< プレイヤーのステータス:未使用3 */
+#define ATTACK_ACID 0x00000010 /*!< プレイヤーのステータス:魔法剣/溶解 */
+#define ATTACK_ELEC 0x00000020 /*!< プレイヤーのステータス:魔法剣/電撃 */
+#define ATTACK_FIRE 0x00000040 /*!< プレイヤーのステータス:魔法剣/火炎 */
+#define ATTACK_COLD 0x00000080 /*!< プレイヤーのステータス:魔法剣/冷凍 */
+#define ATTACK_POIS 0x00000100 /*!< プレイヤーのステータス:魔法剣/毒殺 */
+#define ATTACK_HOLY 0x00000200 /*!< プレイヤーのステータス:対邪?(未使用) */
+#define ATTACK_SUIKEN 0x00000400 /*!< プレイヤーのステータス:酔拳 */
+
+/*
+ * p_ptr->special_defenseによるプレイヤーの防御状態の定義 / Bit flags for the "p_ptr->special_defense" variable. -LM-
+ */
+#define DEFENSE_ACID 0x00000001 /*!< プレイヤーのステータス:酸免疫 */
+#define DEFENSE_ELEC 0x00000002 /*!< プレイヤーのステータス:電撃免疫 */
+#define DEFENSE_FIRE 0x00000004 /*!< プレイヤーのステータス:火炎免疫 */
+#define DEFENSE_COLD 0x00000008 /*!< プレイヤーのステータス:冷気免疫 */
+#define DEFENSE_POIS 0x00000010 /*!< プレイヤーのステータス:毒免疫 */
+#define KAMAE_GENBU 0x00000020 /*!< プレイヤーのステータス:玄武の構え */
+#define KAMAE_BYAKKO 0x00000040 /*!< プレイヤーのステータス:白虎の構え */
+#define KAMAE_SEIRYU 0x00000080 /*!< プレイヤーのステータス:青竜の構え */
+#define KAMAE_SUZAKU 0x00000100 /*!< プレイヤーのステータス:朱雀の構え */
+#define KATA_IAI 0x00000200 /*!< プレイヤーのステータス:居合 */
+#define KATA_FUUJIN 0x00000400 /*!< プレイヤーのステータス:風塵 */
+#define KATA_KOUKIJIN 0x00000800 /*!< プレイヤーのステータス:降鬼陣 */
+#define KATA_MUSOU 0x00001000 /*!< プレイヤーのステータス:無想 */
+#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_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 /*!< 持続行動: 呪術 */
/* Empty hand status */
/*
- * Legal restrictions for "summon_specific()"
- */
-#define SUMMON_ANT 11
-#define SUMMON_SPIDER 12
-#define SUMMON_HOUND 13
-#define SUMMON_HYDRA 14
-#define SUMMON_ANGEL 15
-#define SUMMON_DEMON 16
-#define SUMMON_UNDEAD 17
-#define SUMMON_DRAGON 18
-#define SUMMON_HI_UNDEAD 21
-#define SUMMON_HI_DRAGON 22
-#define SUMMON_HI_DEMON 23
-#define SUMMON_AMBERITES 31
-#define SUMMON_UNIQUE 32
-#define SUMMON_BIZARRE1 33
-#define SUMMON_BIZARRE2 34
-#define SUMMON_BIZARRE3 35
-#define SUMMON_BIZARRE4 36
-#define SUMMON_BIZARRE5 37
-#define SUMMON_BIZARRE6 38
-#define SUMMON_CYBER 39
-#define SUMMON_KIN 40
-#define SUMMON_DAWN 41
-#define SUMMON_ANIMAL 42
-#define SUMMON_ANIMAL_RANGER 43
+ * summon_specificで取り扱われる、召喚の種別定義 / Legal restrictions for "summon_specific()"
+ */
+#define SUMMON_ANT 11 /*!< 召喚タイプ: アリ */
+#define SUMMON_SPIDER 12 /*!< 召喚タイプ: 蜘蛛 */
+#define SUMMON_HOUND 13 /*!< 召喚タイプ: ハウンド */
+#define SUMMON_HYDRA 14 /*!< 召喚タイプ: ヒドラ */
+#define SUMMON_ANGEL 15 /*!< 召喚タイプ: 天使 */
+#define SUMMON_DEMON 16 /*!< 召喚タイプ: 悪魔 */
+#define SUMMON_UNDEAD 17 /*!< 召喚タイプ: アンデッド */
+#define SUMMON_DRAGON 18 /*!< 召喚タイプ: ドラゴン */
+#define SUMMON_HI_UNDEAD 21 /*!< 召喚タイプ: 強力なアンデッド */
+#define SUMMON_HI_DRAGON 22 /*!< 召喚タイプ: 古代ドラゴン */
+#define SUMMON_HI_DEMON 23 /*!< 召喚タイプ: 上級デーモン */
+#define SUMMON_AMBERITES 31 /*!< 召喚タイプ: アンバーの王族 */
+#define SUMMON_UNIQUE 32 /*!< 召喚タイプ: ユニーク */
+#define SUMMON_MOLD 33 /*!< 召喚タイプ: カビ */
+#define SUMMON_BAT 34 /*!< 召喚タイプ: コウモリ */
+#define SUMMON_QUYLTHULG 35 /*!< 召喚タイプ: クイルスルグ */
+#define SUMMON_XXX1 36 /*!< 召喚タイプ: 未使用 */
+#define SUMMON_COIN_MIMIC 37 /*!< 召喚タイプ: クリーピング・コイン */
+#define SUMMON_MIMIC 38 /*!< 召喚タイプ: ミミック */
+#define SUMMON_CYBER 39 /*!< 召喚タイプ: サイバーデーモン */
+#define SUMMON_KIN 40 /*!< 召喚タイプ: 召喚者の同族 */
+#define SUMMON_DAWN 41 /*!< 召喚タイプ: 暁の戦士 */
+#define SUMMON_ANIMAL 42 /*!< 召喚タイプ: 自然界の動物 */
+#define SUMMON_ANIMAL_RANGER 43 /*!< 召喚タイプ: レンジャー向け自然界の動物 */
/*#define SUMMON_HI_UNDEAD_NO_UNIQUES 44*/
/*#define SUMMON_HI_DRAGON_NO_UNIQUES 45*/
/*#define SUMMON_NO_UNIQUES 46*/
-#define SUMMON_PHANTOM 47
+#define SUMMON_PHANTOM 47 /*!< 召喚タイプ: ゴースト */
/*#define SUMMON_ELEMENTAL_NO_UNIQUES 48*/
-#define SUMMON_BLUE_HORROR 49
-#define SUMMON_LIVING 50
-#define SUMMON_HI_DRAGON_LIVING 51
-#define SUMMON_GOLEM 52
-#define SUMMON_ELEMENTAL 53
-#define SUMMON_VORTEX 54
-#define SUMMON_HYBRID 55
-#define SUMMON_BIRD 56
+#define SUMMON_BLUE_HORROR 49 /*!< 召喚タイプ: ブルー・ホラー */
+#define SUMMON_LIVING 50 /*!< 召喚タイプ: 生命のあるモンスター */
+#define SUMMON_HI_DRAGON_LIVING 51 /*!< 召喚タイプ: 生命のある古代ドラゴン */
+#define SUMMON_GOLEM 52 /*!< 召喚タイプ: ゴーレム */
+#define SUMMON_ELEMENTAL 53 /*!< 召喚タイプ: エレメンタル */
+#define SUMMON_VORTEX 54 /*!< 召喚タイプ: ボルテックス */
+#define SUMMON_HYBRID 55 /*!< 召喚タイプ: 混合生物 */
+#define SUMMON_BIRD 56 /*!< 召喚タイプ: 鳥 */
/*#define SUMMON_AQUATIC_NO_UNIQUES 57*/
-#define SUMMON_KAMIKAZE 58
-#define SUMMON_KAMIKAZE_LIVING 59
-#define SUMMON_MANES 60
-#define SUMMON_LOUSE 61
-#define SUMMON_GUARDIANS 62
-#define SUMMON_KNIGHTS 63
-#define SUMMON_EAGLES 64
-#define SUMMON_PIRANHAS 65
-#define SUMMON_ARMAGE_GOOD 66
-#define SUMMON_ARMAGE_EVIL 67
+#define SUMMON_KAMIKAZE 58 /*!< 召喚タイプ: 自爆モンスター */
+#define SUMMON_KAMIKAZE_LIVING 59 /*!< 召喚タイプ: 生命のある自爆モンスター */
+#define SUMMON_MANES 60 /*!< 召喚タイプ: 古代の死霊 */
+#define SUMMON_LOUSE 61 /*!< 召喚タイプ: シラミ */
+#define SUMMON_GUARDIANS 62 /*!< 召喚タイプ: ダンジョンの主 */
+#define SUMMON_KNIGHTS 63 /*!< 召喚タイプ: 聖戦用騎士系モンスター */
+#define SUMMON_EAGLES 64 /*!< 召喚タイプ: 鷲系モンスター */
+#define SUMMON_PIRANHAS 65 /*!< 召喚タイプ: ピラニア・トラップ用 */
+#define SUMMON_ARMAGE_GOOD 66 /*!< 召喚タイプ: ハルマゲドン・トラップ用天使陣営 */
+#define SUMMON_ARMAGE_EVIL 67 /*!< 召喚タイプ: ハルマゲドン・トラップ用悪魔陣営 */
/*
/*
- * Game generated inscription indices. These are stored in the object,
+ * アイテムの簡易鑑定定義 / Game generated inscription indices. These are stored in the object,
* and are used to index the string array from tables.c.
*/
+#define FEEL_NONE 0 /*!< 簡易鑑定: 未鑑定 */
+#define FEEL_BROKEN 1 /*!< 簡易鑑定: 壊れている */
+#define FEEL_TERRIBLE 2 /*!< 簡易鑑定: 恐ろしい */
+#define FEEL_WORTHLESS 3 /*!< 簡易鑑定: 無価値 */
+#define FEEL_CURSED 4 /*!< 簡易鑑定: 呪われている */
+#define FEEL_UNCURSED 5 /*!< 簡易鑑定: 呪われていない */
+#define FEEL_AVERAGE 6 /*!< 簡易鑑定: 並 */
+#define FEEL_GOOD 7 /*!< 簡易鑑定: 上質 */
+#define FEEL_EXCELLENT 8 /*!< 簡易鑑定: 高級 */
+#define FEEL_SPECIAL 9 /*!< 簡易鑑定: 特別 */
-#define FEEL_NONE 0
-#define FEEL_BROKEN 1
-#define FEEL_TERRIBLE 2
-#define FEEL_WORTHLESS 3
-#define FEEL_CURSED 4
-#define FEEL_UNCURSED 5
-#define FEEL_AVERAGE 6
-#define FEEL_GOOD 7
-#define FEEL_EXCELLENT 8
-#define FEEL_SPECIAL 9
-
-#define FEEL_MAX 9
+#define FEEL_MAX 9 /*!< 簡易鑑定の種別数 */
/*
- * Hack -- special "xtra" object powers
+ * 変愚ver1.5.0以前に使われていたアイテムの追加特性フラグ / Hack -- special "xtra" object powers
*/
+#define EGO_XTRA_SUSTAIN 1 /*!< 旧版アイテムフラグ(非推奨): 追加維持能力 / Sustain one stat */
+#define EGO_XTRA_POWER 2 /*!< 旧版アイテムフラグ(非推奨): 追加上級耐性 / High resist */
+#define EGO_XTRA_ABILITY 3 /*!< 旧版アイテムフラグ(非推奨): 追加能力 / Special ability */
-/* Sustain one stat */
-#define EGO_XTRA_SUSTAIN 1
-
-/* High resist */
-#define EGO_XTRA_POWER 2
-
-/* Special ability */
-#define EGO_XTRA_ABILITY 3
/*** Object flag values ***/
-/*
- * Chest trap flags (see "tables.c")
+/*!
+ * 箱のトラップ定義 Chest trap flags (see "tables.c")
*/
-#define CHEST_LOSE_STR 0x0001
-#define CHEST_LOSE_CON 0x0002
-#define CHEST_POISON 0x0004
-#define CHEST_PARALYZE 0x0008
-#define CHEST_EXPLODE 0x0010
-#define CHEST_SUMMON 0x0020
-#define CHEST_SCATTER 0x0040
-#define CHEST_E_SUMMON 0x0080
-#define CHEST_BIRD_STORM 0x0100
-#define CHEST_H_SUMMON 0x0200
-#define CHEST_RUNES_OF_EVIL 0x0400
-#define CHEST_ALARM 0x0800
+#define CHEST_LOSE_STR 0x0001 /*!< 箱のトラップ: STR減少の毒針 */
+#define CHEST_LOSE_CON 0x0002 /*!< 箱のトラップ: CON減少の毒針 */
+#define CHEST_POISON 0x0004 /*!< 箱のトラップ: 毒針 */
+#define CHEST_PARALYZE 0x0008 /*!< 箱のトラップ: 麻痺ガス */
+#define CHEST_EXPLODE 0x0010 /*!< 箱のトラップ: 爆発 */
+#define CHEST_SUMMON 0x0020 /*!< 箱のトラップ: 召喚のルーン(モンスター) */
+#define CHEST_SCATTER 0x0040 /*!< 箱のトラップ: アイテム散乱 */
+#define CHEST_E_SUMMON 0x0080 /*!< 箱のトラップ: 召喚のルーン(エレメンタル) */
+#define CHEST_BIRD_STORM 0x0100 /*!< 箱のトラップ: 召喚のルーン(鳥) */
+#define CHEST_H_SUMMON 0x0200 /*!< 箱のトラップ: 召喚のルーン(強敵) */
+#define CHEST_RUNES_OF_EVIL 0x0400 /*!< 箱のトラップ: 邪悪なルーン */
+#define CHEST_ALARM 0x0800 /*!< 箱のトラップ: 警報装置 */
/*
#define TR_THROW 44 /* Later */
#define TR_REFLECT 45 /* Reflect 'bolts' */
#define TR_FREE_ACT 46 /* Free Action */
-#define TR_HOLD_LIFE 47 /* Hold Life */
+#define TR_HOLD_EXP 47 /* Hold EXP */
#define TR_RES_ACID 48
#define TR_RES_ELEC 49
#define TR_RES_FIRE 50
#define TR_HIDE_TYPE 73 /* Hide "pval" description */
#define TR_SHOW_MODS 74 /* Always show Tohit/Todam */
#define TR_SLAY_GOOD 75
-#define TR_LEVITATION 76 /* Feather Falling */
-#define TR_LITE 77 /* Permanent Light */
+#define TR_LEVITATION 76 /* Feather Falling */
+#define TR_LITE_1 77 /* Light Radius 1*/
#define TR_SEE_INVIS 78 /* See Invisible */
#define TR_TELEPATHY 79 /* Telepathy */
#define TR_SLOW_DIGEST 80 /* Item slows down digestion */
#define TR_FIXED_FLAVOR 117
#define TR_ADD_L_CURSE 118
#define TR_ADD_H_CURSE 119
-
-#define TR_FLAG_MAX 120
-#define TR_FLAG_SIZE 4
+#define TR_DRAIN_HP 120
+#define TR_DRAIN_MANA 121
+#define TR_LITE_2 122
+#define TR_LITE_3 123
+#define TR_LITE_M1 124 /* Permanent decrease Light Area (-1) */
+#define TR_LITE_M2 125 /* Permanent decrease Light Area (-1) */
+#define TR_LITE_M3 126 /* Permanent decrease Light Area (-1) */
+#define TR_LITE_FUEL 127 /* Lights need Fuels */
+
+#define TR_CALL_ANIMAL 128
+#define TR_CALL_DEMON 129
+#define TR_CALL_DRAGON 130
+#define TR_CALL_UNDEAD 131
+#define TR_COWARDICE 132
+#define TR_LOW_MELEE 133
+#define TR_LOW_AC 134
+#define TR_LOW_MAGIC 135
+#define TR_FAST_DIGEST 136
+#define TR_SLOW_REGEN 137
+
+#define TR_FLAG_MAX 138
+#define TR_FLAG_SIZE 5
#define TRG_INSTA_ART 0x00000001L /* Item must be an artifact */
#define TRG_RANDOM_CURSE1 0x00004000L /* Item is Random Cursed */
#define TRG_RANDOM_CURSE2 0x00008000L /* Item is Random Cursed */
#define TRG_XTRA_DICE 0x00010000L /* Extra dice */
+#define TRG_POWERFUL 0x00020000L /* Item has good value even if Cursed */
-#define MAX_CURSE 17
+#define MAX_CURSE 18
#define TRC_CURSED 0x00000001L
#define TRC_HEAVY_CURSE 0x00000002L
#define TRC_FAST_DIGEST 0x00040000L
#define TRC_DRAIN_HP 0x00080000L
#define TRC_DRAIN_MANA 0x00100000L
+#define TRC_CALL_UNDEAD 0x00200000L
#define TRC_TELEPORT_SELF 0x00000001L
#define TRC_CHAINSWORD 0x00000002L
#define TRC_HEAVY_MASK \
(TRC_TY_CURSE | TRC_AGGRAVATE | TRC_DRAIN_EXP | TRC_ADD_H_CURSE | \
- TRC_CALL_DEMON | TRC_CALL_DRAGON | TRC_TELEPORT)
+ TRC_CALL_DEMON | TRC_CALL_DRAGON | TRC_CALL_UNDEAD | TRC_TELEPORT)
#define TRC_P_FLAG_MASK \
(TRC_TELEPORT_SELF | TRC_CHAINSWORD | \
TRC_TY_CURSE | TRC_DRAIN_EXP | TRC_ADD_L_CURSE | TRC_ADD_H_CURSE | \
TRC_CALL_ANIMAL | TRC_CALL_DEMON | TRC_CALL_DRAGON | TRC_COWARDICE | \
- TRC_TELEPORT | TRC_DRAIN_HP | TRC_DRAIN_MANA)
+ TRC_TELEPORT | TRC_DRAIN_HP | TRC_DRAIN_MANA | TRC_CALL_UNDEAD)
/*** Monster blow constants ***/
-/*
- * New monster blow methods
- */
-#define RBM_HIT 1
-#define RBM_TOUCH 2
-#define RBM_PUNCH 3
-#define RBM_KICK 4
-#define RBM_CLAW 5
-#define RBM_BITE 6
-#define RBM_STING 7
-#define RBM_SLASH 8
-#define RBM_BUTT 9
-#define RBM_CRUSH 10
-#define RBM_ENGULF 11
-#define RBM_CHARGE 12
-#define RBM_CRAWL 13
-#define RBM_DROOL 14
-#define RBM_SPIT 15
-#define RBM_EXPLODE 16
-#define RBM_GAZE 17
-#define RBM_WAIL 18
-#define RBM_SPORE 19
-#define RBM_XXX4 20
-#define RBM_BEG 21
-#define RBM_INSULT 22
-#define RBM_MOAN 23
-#define RBM_SHOW 24
-#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_EXP_VAMP 31
-#define RBE_DR_MANA 32
-#define RBE_SUPERHURT 33
-#define RBE_INERTIA 34
-#define RBE_STUN 35
+/*!
+ * @note モンスターの打撃方法 / New monster blow methods
+ * 打撃の種別に応じて傷と朦朧が発生するかがコメントの通りに決まる
+ */
+#define RBM_HIT 1 /*!< モンスターの攻撃種別:殴る(傷/朦朧が半々) */
+#define RBM_TOUCH 2 /*!< モンスターの攻撃種別:触る */
+#define RBM_PUNCH 3 /*!< モンスターの攻撃種別:パンチする(朦朧) */
+#define RBM_KICK 4 /*!< モンスターの攻撃種別:蹴る(朦朧) */
+#define RBM_CLAW 5 /*!< モンスターの攻撃種別:ひっかく(傷) */
+#define RBM_BITE 6 /*!< モンスターの攻撃種別:噛む(傷) */
+#define RBM_STING 7 /*!< モンスターの攻撃種別:刺す */
+#define RBM_SLASH 8 /*!< モンスターの攻撃種別:斬る(傷) */
+#define RBM_BUTT 9 /*!< モンスターの攻撃種別:角で突く(朦朧) */
+#define RBM_CRUSH 10 /*!< モンスターの攻撃種別:体当たりする(朦朧) */
+#define RBM_ENGULF 11 /*!< モンスターの攻撃種別:飲み込む */
+#define RBM_CHARGE 12 /*!< モンスターの攻撃種別:請求書を寄越す */
+#define RBM_CRAWL 13 /*!< モンスターの攻撃種別:体の上を這い回る */
+#define RBM_DROOL 14 /*!< モンスターの攻撃種別:よだれをたらす */
+#define RBM_SPIT 15 /*!< モンスターの攻撃種別:つばを吐く */
+#define RBM_EXPLODE 16 /*!< モンスターの攻撃種別:爆発する */
+#define RBM_GAZE 17 /*!< モンスターの攻撃種別:にらむ */
+#define RBM_WAIL 18 /*!< モンスターの攻撃種別:泣き叫ぶ */
+#define RBM_SPORE 19 /*!< モンスターの攻撃種別:胞子を飛ばす */
+#define RBM_XXX4 20 /*!< モンスターの攻撃種別:未定義 */
+#define RBM_BEG 21 /*!< モンスターの攻撃種別:金をせがむ */
+#define RBM_INSULT 22 /*!< モンスターの攻撃種別:侮辱する */
+#define RBM_MOAN 23 /*!< モンスターの攻撃種別:うめく */
+#define RBM_SHOW 24 /*!< モンスターの攻撃種別:歌う */
+#define RBM_SHOOT 25 /*!< モンスターの攻撃種別:射撃(非打撃) */
+
+
+/*!
+ * @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_XXX16 0x00010000 /*!< モンスター特性: 未使用 / XXX */
+#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 (unused) */
-#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
#define RF7_SELF_LITE_2 0x00000800 /* Monster lights itself */
#define RF7_GUARDIAN 0x00001000 /* Guardian of a dungeon */
#define RF7_CHAMELEON 0x00002000 /* Chameleon can change */
-#define RF7_KILL_EXP 0x00004000 /* No exp until you kill it */
+#define RF7_XXXX4XXX 0x00004000 /* Now Empty */
#define RF7_TANUKI 0x00008000 /* Tanuki disguise */
#define RF7_HAS_DARK_1 0x00010000 /* Monster carries darkness */
#define RF7_SELF_DARK_1 0x00020000 /* Monster darkens itself */
#define RF9_EAT_LOSE_STR 0x02000000
#define RF9_EAT_LOSE_INT 0x04000000
#define RF9_EAT_LOSE_WIS 0x08000000
-#define RF9_EAT_LOSE_DEX 0x01000000
+#define RF9_EAT_LOSE_DEX 0x10000000
#define RF9_EAT_LOSE_CON 0x20000000
#define RF9_EAT_LOSE_CHR 0x40000000
#define RF9_EAT_DRAIN_MANA 0x80000000
#define get_feat_mimic(C) \
(f_info[(C)->mimic ? (C)->mimic : (C)->feat].mimic)
-#define update_playtime() \
-{\
- u32b tmp;\
- tmp = time(NULL);\
- playtime += (tmp - start_time);\
- start_time = tmp;\
-}
-
/*
* Hack -- Prepare to use the "Secure" routines
*/
* 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 is_ascii_graphics(A) (!((A) & 0x80))
+/*** Music constants ***/
+
+#define MUSIC_BASIC_DEFAULT 0
+#define MUSIC_BASIC_GAMEOVER 1
+#define MUSIC_BASIC_EXIT 2
+#define MUSIC_BASIC_TOWN 3
+#define MUSIC_BASIC_FIELD1 4
+#define MUSIC_BASIC_FIELD2 5
+#define MUSIC_BASIC_FIELD3 6
+#define MUSIC_BASIC_DUN_LOW 7
+#define MUSIC_BASIC_DUN_MED 8
+#define MUSIC_BASIC_DUN_HIGH 9
+#define MUSIC_BASIC_DUN_FEEL1 10
+#define MUSIC_BASIC_DUN_FEEL2 11
+#define MUSIC_BASIC_WINNER 12
+#define MUSIC_BASIC_BUILD 13
+#define MUSIC_BASIC_WILD 14
+#define MUSIC_BASIC_QUEST 15
+#define MUSIC_BASIC_ARENA 16
+#define MUSIC_BASIC_BATTLE 17
+#define MUSIC_BASIC_MAX 18 /*!< BGM定義の最大数 */
/*** Sound constants ***/
-
/*
* Mega-Hack -- some primitive sound support (see "main-win.c")
*
#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 */
/*
* Mega-Hack -- maximum known sounds
*/
-#define SOUND_MAX 66
+#define SOUND_MAX 66 /*!< 効果音定義の最大数 */
-#define MAX_VIRTUE 18
+#define MAX_VIRTUE 18 /*!< 徳定義の最大数 */
-#define V_COMPASSION 1
+#define V_COMPASSION 1
#define V_HONOUR 2
#define V_JUSTICE 3
#define V_SACRIFICE 4
#define GRAPHICS_NONE 0
#define GRAPHICS_ORIGINAL 1
#define GRAPHICS_ADAM_BOLT 2
+#define GRAPHICS_HENGBAND 3
/*
* Modes for the random name generator
#define MON_JIZOTAKO 1065
#define MON_TANUKI 1067
#define MON_HATOPOPPO 1083
+#define MON_KOGAN 1096
/* Maximum "Nazguls" number */
#define MAX_NAZGUL_NUM 5
#define SAVE_ITEM_FEELING 0x02000000
#define SAVE_ITEM_INSCRIPTION 0x04000000
#define SAVE_ITEM_ART_NAME 0x08000000
+#define SAVE_ITEM_ART_FLAGS4 0x10000000
/*
* Max numbers of macro trigger names
*/
#define MAX_MACRO_MOD 12
-#define MAX_MACRO_TRIG 200
+#define MAX_MACRO_TRIG 200 /*!< 登録を許すマクロ(トリガー)の最大数 */
/* Max size of screen dump buffer */
#define SCREEN_BUF_SIZE 65536
#else
#define _(JAPANESE,ENGLISH) (ENGLISH)
#endif
+
+/* Lite flag macro */
+#define have_lite_flag(ARRAY) \
+ (have_flag(ARRAY, TR_LITE_1) || have_flag(ARRAY, TR_LITE_2) || have_flag(ARRAY, TR_LITE_3))
+
+#define have_dark_flag(ARRAY) \
+ (have_flag(ARRAY, TR_LITE_M1) || have_flag(ARRAY, TR_LITE_M2) || have_flag(ARRAY, TR_LITE_M3))
+
+/* Spell Type flag */
+#define MONSTER_TO_PLAYER 0x01
+#define MONSTER_TO_MONSTER 0x02
+
+/* summoning number */
+#define S_NUM_6 (easy_band ? 2 : 6)
+#define S_NUM_4 (easy_band ? 1 : 4)
+
+/* monster spell number */
+#define RF4_SPELL_START 32 * 3
+#define RF5_SPELL_START 32 * 4
+#define RF6_SPELL_START 32 * 5
+
+#define RF4_SPELL_SIZE 32
+#define RF5_SPELL_SIZE 32
+#define RF6_SPELL_SIZE 32
+
+/* Spell Damage Calc Flag*/
+#define DAM_ROLL 1
+#define DAM_MAX 2
+#define DAM_MIN 3
+#define DICE_NUM 4
+#define DICE_SIDE 5
+#define DICE_MULT 6
+#define DICE_DIV 7
+#define BASE_DAM 8