X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fdefines.h;h=a248a9cfa07ecca47c7ecf7230c4df08e03fbc83;hb=34fa700cc022984b474ee6d54c69853a6e4a1e70;hp=04911489521a4e3b95fb9b6190ae3a6a470e58ea;hpb=d0853df098d67e14cec78d105e9edacd9bfdd700;p=hengband%2Fhengband.git diff --git a/src/defines.h b/src/defines.h index 049114895..a248a9cfa 100644 --- a/src/defines.h +++ b/src/defines.h @@ -53,7 +53,7 @@ #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */ #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */ #define FAKE_VER_PATCH 1 /*!< ゲームのバージョン番号定義(パッチ番号) */ -#define FAKE_VER_EXTRA 5 /*!< ゲームのバージョン番号定義(エクストラ番号) */ +#define FAKE_VER_EXTRA 7 /*!< ゲームのバージョン番号定義(エクストラ番号) */ /*! @@ -181,7 +181,7 @@ #define MAX_OWNERS 32 /*!< 各店舗毎の店主定義最大数 / Total number of owners per store (see "store.c", etc) */ #define MAX_SEXES 2 /*!< 性別の定義最大数 / Maximum number of player "sex" types (see "table.c", etc) */ #define MAX_CLASS 28 /*!< 職業の最大定義数 Maximum number of player "class" types (see "table.c", etc) */ -#define MAX_SEIKAKU 12 /*!< 性格の最大定義数 */ +#define MAX_SEIKAKU 13 /*!< 性格の最大定義数 */ #define MAX_PATRON 16 /*!< カオスパトロンの最大定義数 / The number of "patrons" available (for Chaos Warriors) */ /* ELDRITCH_HORRORによるsanity blast処理に関するメッセージの最大数 / Number of entries in the sanity-blast descriptions */ @@ -229,110 +229,6 @@ /* カオスの変異 / 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 */ @@ -579,56 +475,6 @@ #define CAN_TWO_HANDS_WIELDING() (!p_ptr->riding || (p_ptr->pet_extra_flags & PF_RYOUTE)) -/*! - * @brief ベースアイテム生成階層が加算される確率 - * @details - * There is a 1/10 (10%) chance of inflating the requested object_level - * during the creation of an object (see "get_obj_num()" in "object.c"). - * Lower values yield better objects more often. - */ -#define GREAT_OBJ 10 - -/*! - * @brief 深層モンスターが生成される(NASTY生成)の基本確率(1/x) - * @details - * There is a 1/25 (4%) chance of inflating the requested monster_level - * during the creation of a monsters (see "get_mon_num()" in "monster.c"). - * Lower values yield harder monsters more often. - */ -#define NASTY_MON_BASE 25 -#define NASTY_MON_MAX 3 /*!< 深層モンスターが1フロアに生成される最大数 */ -#define NASTY_MON_PLUS_MAX 25 /*!< 深層モンスターの階層加算最大量 */ - -#define PENETRATE_INVULNERABILITY 13 /*!< 無敵化が破られる確率(1/x) / 1/x chance of hurting even if invulnerable! */ - - - -/* - * Refueling constants - */ -#define FUEL_TORCH 5000 /*!< 松明の基本寿命値 / Maximum amount of fuel in a torch */ -#define FUEL_LAMP 15000 /*!< ランタンの基本寿命値 / Maximum amount of fuel in a lantern */ - -/* - * More maximum values - */ -#define MAX_SIGHT 20 /*!< プレイヤーの最大視界範囲(マス) / Maximum view distance */ -#define MAX_RANGE (p_ptr->inside_battle ? 36 : 18) /*!< プレイヤーの攻撃射程(マス) / Maximum range (spells, etc) */ -#define AAF_LIMIT 100 /*!< モンスターの限界感知範囲(マス) Limit of sensing radius */ - -#define MIN_M_ALLOC_TD 4 /*!< 街(昼間)の最低住人配置数 / The town starts out with 4 residents during the day */ -#define MIN_M_ALLOC_TN 8 /*!< 街(夜間)の最低住人配置数 / The town starts out with 8 residents during the night */ - -/*! - * @brief モンスター増殖の最大数 - * @details - * A monster can only "multiply" (reproduce) if there are fewer than 100 - * monsters on the level capable of such spontaneous reproduction. This - * is a hack which prevents the "m_list[]" array from exploding due to - * reproducing monsters. Messy, but necessary. - */ -#define MAX_REPRO 100 - /* * Player constants */ @@ -687,7 +533,7 @@ #define REALM_DEATH 5 #define REALM_TRUMP 6 #define REALM_ARCANE 7 -#define REALM_CRAFT 8 +#define REALM_CRAFT 8 #define REALM_DAEMON 9 #define REALM_CRUSADE 10 #define MAX_MAGIC 10 @@ -769,12 +615,13 @@ /* * Indexes of the various "stats" (hard-coded by savefiles, etc). */ -#define A_STR 0 -#define A_INT 1 -#define A_WIS 2 -#define A_DEX 3 -#define A_CON 4 -#define A_CHR 5 +#define A_STR 0 +#define A_INT 1 +#define A_WIS 2 +#define A_DEX 3 +#define A_CON 4 +#define A_CHR 5 +#define A_MAX 6 /* * Player sex constants (hard-coded by save-files, arrays, etc) @@ -823,11 +670,12 @@ #define RACE_S_FAIRY 34 #define RACE_KUTAR 35 #define RACE_ANDROID 36 +#define RACE_MERFOLK 37 /* * Maximum number of player "race" types (see "table.c", etc) */ -#define MAX_RACES 37 +#define MAX_RACES 38 /* @@ -874,6 +722,7 @@ #define SEIKAKU_LUCKY 9 #define SEIKAKU_GAMAN 10 #define SEIKAKU_MUNCHKIN 11 +#define SEIKAKU_CHARGEMAN 12 /*** Screen Locations ***/ @@ -930,14 +779,14 @@ #define ROW_CURSP 15 #define COL_CURSP 0 /* "Cur SP xxxxx" */ -#define ROW_RIDING_INFO 16 -#define COL_RIDING_INFO 0 /* "xxxxxxxxxxxx" */ +#define ROW_RIDING_INFO 16 +#define COL_RIDING_INFO 0 /* "xxxxxxxxxxxx" */ #define ROW_INFO 17 #define COL_INFO 0 /* "xxxxxxxxxxxx" */ -#define ROW_MAP 0 -#define COL_MAP 12 +#define ROW_MAP 0 +#define COL_MAP 12 #define ROW_CUT 18 #define COL_CUT 0 /* */ @@ -1038,15 +887,15 @@ #define FF_LAVA 40 /*!< 溶岩のある地形である */ #define FF_SHALLOW 41 /*!< 浅い地形である */ #define FF_DEEP 42 /*!< 深い地形である */ -/* #define FF_FILLED 43 */ /*!< 未使用 */ +#define FF_POISON_PUDDLE 43 /*!< 毒溜まりがある */ #define FF_HURT_ROCK 44 /*!< 岩石溶解の対象となる地形である */ /* #define FF_HURT_FIRE 45 */ /*!< 未使用 */ /* #define FF_HURT_COLD 46 */ /*!< 未使用 */ /* #define FF_HURT_ACID 47 */ /*!< 未使用 */ -/* #define FF_ICE 48 */ /*!< 未使用 */ -/* #define FF_ACID 49 */ /*!< 未使用 */ -/* #define FF_OIL 50 */ /*!< 未使用 */ -/* #define FF_XXX04 51 */ /*!< 未使用 */ +#define FF_COLD_PUDDLE 48 /*!< 冷気溜まりがある */ +#define FF_ACID_PUDDLE 49 /*!< 酸溜まりがある */ +/* #define FF_OIL 50 /*!< 未使用 */ +#define FF_ELEC_PUDDLE 51 /*!< 接地部が帯電している */ /* #define FF_CAN_CLIMB 52 */ /*!< 未使用 */ #define FF_CAN_FLY 53 /*!< 飛行可能な地形である */ #define FF_CAN_SWIM 54 /*!< 泳ぐことが可能な地形である */ @@ -1812,8 +1661,8 @@ #define ACT_XTRA_SPEED 96 #define ACT_WRAITH 97 #define ACT_INVULN 98 -#define ACT_HELO 99 -#define ACT_HELO_SPEED 100 +#define ACT_HERO 99 +#define ACT_HERO_SPEED 100 #define ACT_RESIST_ACID 101 #define ACT_RESIST_FIRE 102 #define ACT_RESIST_COLD 103 @@ -2561,18 +2410,18 @@ /* - * Special cave grid flags + * 特殊なマス状態フラグ / Special cave grid flags */ -#define CAVE_MARK 0x0001 /* memorized feature */ -#define CAVE_GLOW 0x0002 /* self-illuminating */ -#define CAVE_ICKY 0x0004 /* part of a vault */ -#define CAVE_ROOM 0x0008 /* part of a room */ -#define CAVE_LITE 0x0010 /* lite flag */ -#define CAVE_VIEW 0x0020 /* view flag */ -#define CAVE_TEMP 0x0040 /* temp flag */ -#define CAVE_XTRA 0x0080 /* misc flag */ -#define CAVE_MNLT 0x0100 /* Illuminated by monster */ -#define CAVE_MNDK 0x8000 /* Darken by monster */ +#define CAVE_MARK 0x0001 /*!< 現在プレイヤーの記憶に収まっている / memorized feature */ +#define CAVE_GLOW 0x0002 /*!< マス自体が光源を持っている / self-illuminating */ +#define CAVE_ICKY 0x0004 /*!< 生成されたVaultの一部である / part of a vault */ +#define CAVE_ROOM 0x0008 /*!< 生成された部屋の一部である / part of a room */ +#define CAVE_LITE 0x0010 /*!< 現在光に照らされている / lite flag */ +#define CAVE_VIEW 0x0020 /*!< 現在プレイヤーの視界に収まっている / view flag */ +#define CAVE_TEMP 0x0040 /*!< 光源に関する処理のアルゴリズム用記録フラグ / temp flag */ +#define CAVE_XTRA 0x0080 /*!< 視界に関する処理のアルゴリズム用記録フラグ(update_view()等参照) / misc flag */ +#define CAVE_MNLT 0x0100 /*!< モンスターの光源によって照らされている / Illuminated by monster */ +#define CAVE_MNDK 0x8000 /*!< モンスターの暗源によって暗闇になっている / Darken by monster */ /* Used only while cave generation */ #define CAVE_FLOOR 0x0200 /*!< フロア属性のあるマス */ @@ -2629,17 +2478,12 @@ #define ENCH_FORCE 0x08 /*!< 装備強化処理: 無条件に成功させる / Force enchantment */ /* - * Bit flags for the "target_set" function XXX XXX XXX - * - * KILL: Target monsters - * LOOK: Describe grid fully - * XTRA: Currently unused flag - * GRID: Select from all grids + * target_set用関数の利用用途フラグ / Bit flags for the "target_set" function */ -#define TARGET_KILL 0x01 -#define TARGET_LOOK 0x02 -#define TARGET_XTRA 0x04 -#define TARGET_GRID 0x08 +#define TARGET_KILL 0x01 /*!< モンスターへの狙いをつける(視界内モンスターのみクエリ対象) / Target monsters */ +#define TARGET_LOOK 0x02 /*!< "L"ookコマンド向けの既存情報確認向け(全ての有為な情報をクエリ対象) / Describe grid fully */ +#define TARGET_XTRA 0x04 /*!< 現在未使用 / Currently unused flag */ +#define TARGET_GRID 0x08 /*!< 全てのマス対象にする(現在未使用) / Select from all grids */ /* @@ -2651,83 +2495,24 @@ #define CHECK_DEFAULT_Y 0x08 -/* - * Some bit-flags for the "smart" field - */ -#define SM_RES_ACID 0x00000001 /*!< モンスターの学習フラグ: プレイヤーに酸耐性あり */ -#define SM_RES_ELEC 0x00000002 /*!< モンスターの学習フラグ: プレイヤーに電撃耐性あり */ -#define SM_RES_FIRE 0x00000004 /*!< モンスターの学習フラグ: プレイヤーに火炎耐性あり */ -#define SM_RES_COLD 0x00000008 /*!< モンスターの学習フラグ: プレイヤーに冷気耐性あり */ -#define SM_RES_POIS 0x00000010 /*!< モンスターの学習フラグ: プレイヤーに毒耐性あり */ -#define SM_RES_NETH 0x00000020 /*!< モンスターの学習フラグ: プレイヤーに地獄耐性あり */ -#define SM_RES_LITE 0x00000040 /*!< モンスターの学習フラグ: プレイヤーに閃光耐性あり */ -#define SM_RES_DARK 0x00000080 /*!< モンスターの学習フラグ: プレイヤーに暗黒耐性あり */ -#define SM_RES_FEAR 0x00000100 /*!< モンスターの学習フラグ: プレイヤーに恐怖耐性あり */ -#define SM_RES_CONF 0x00000200 /*!< モンスターの学習フラグ: プレイヤーに混乱耐性あり */ -#define SM_RES_CHAOS 0x00000400 /*!< モンスターの学習フラグ: プレイヤーにカオス耐性あり */ -#define SM_RES_DISEN 0x00000800 /*!< モンスターの学習フラグ: プレイヤーに劣化耐性あり */ -#define SM_RES_BLIND 0x00001000 /*!< モンスターの学習フラグ: プレイヤーに盲目耐性あり */ -#define SM_RES_NEXUS 0x00002000 /*!< モンスターの学習フラグ: プレイヤーに因果混乱耐性あり */ -#define SM_RES_SOUND 0x00004000 /*!< モンスターの学習フラグ: プレイヤーに轟音耐性あり */ -#define SM_RES_SHARD 0x00008000 /*!< モンスターの学習フラグ: プレイヤーに破片耐性あり */ -#define SM_OPP_ACID 0x00010000 /*!< モンスターの学習フラグ: プレイヤーに二重酸耐性あり */ -#define SM_OPP_ELEC 0x00020000 /*!< モンスターの学習フラグ: プレイヤーに二重電撃耐性あり */ -#define SM_OPP_FIRE 0x00040000 /*!< モンスターの学習フラグ: プレイヤーに二重火炎耐性あり */ -#define SM_OPP_COLD 0x00080000 /*!< モンスターの学習フラグ: プレイヤーに二重冷気耐性あり */ -#define SM_OPP_POIS 0x00100000 /*!< モンスターの学習フラグ: プレイヤーに二重毒耐性あり */ -#define SM_OPP_XXX1 0x00200000 /*!< 未使用 / (unused) */ -#define SM_CLONED 0x00400000 /*!< モンスターの特殊耐性: クローン免疫 / XXX Cloned */ -#define SM_PET 0x00800000 /*!< モンスターの特殊耐性: ペット免疫 / XXX Pet */ -#define SM_IMM_ACID 0x01000000 /*!< モンスターの学習フラグ: プレイヤーに酸免疫あり */ -#define SM_IMM_ELEC 0x02000000 /*!< モンスターの学習フラグ: プレイヤーに電撃免疫あり */ -#define SM_IMM_FIRE 0x04000000 /*!< モンスターの学習フラグ: プレイヤーに火炎免疫あり */ -#define SM_IMM_COLD 0x08000000 /*!< モンスターの学習フラグ: プレイヤーに冷気免疫あり */ -#define SM_FRIENDLY 0x10000000 /*!< モンスターの特殊耐性: 友好化免疫 / XXX Friendly */ -#define SM_IMM_REFLECT 0x20000000 /*!< モンスターの学習フラグ: プレイヤーに反射あり */ -#define SM_IMM_FREE 0x40000000 /*!< モンスターの学習フラグ: プレイヤーに麻痺耐性あり */ -#define SM_IMM_MANA 0x80000000 /*!< モンスターの学習フラグ: プレイヤーに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 */ +#define USE_EQUIP 0x01 /*!< アイテム表示/選択範囲: 装備品からの選択を許可する / Allow equip items */ +#define USE_INVEN 0x02 /*!< アイテム表示/選択範囲: 所持品からの選択を許可する / Allow inven items */ +#define USE_FLOOR 0x04 /*!< アイテム表示/選択範囲: 床下のアイテムからの選択を許可する / Allow floor items */ +#define USE_FORCE 0x08 /*!< 特殊: wキーで錬気術への切り替えを許可する */ +#define IGNORE_BOTHHAND_SLOT 0x10 /*!< アイテム表示/選択範囲: 両手持ちスロットを選択に含めない */ +#define USE_FULL 0x20 /*!< アイテム表示/選択範囲: 空欄まですべて表示する*/ -/* - * p_ptr->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) */ /* * p_ptr->updateに充てるプレイヤーステータス更新処理要求 / Bit flags for the "p_ptr->update" variable */ -#define PU_BONUS 0x00000001L /*!< ステータス更新フラグ: 能力値修正 / Calculate bonuses */ -#define PU_TORCH 0x00000002L /*!< ステータス更新フラグ: 光源半径 / Calculate torch radius */ -/* xxx (many) */ -#define PU_HP 0x00000010L /*!< ステータス更新フラグ: 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 */ -/* xxx (many) */ -#define PU_VIEW 0x00100000L /*!< ステータス更新フラグ: 視界 / Update view */ -#define PU_LITE 0x00200000L /*!< ステータス更新フラグ: 明暗範囲 / Update lite */ -#define PU_MON_LITE 0x00400000L /*!< ステータス更新フラグ: モンスターの光源範囲 / Monster illumination */ -#define PU_DELAY_VIS 0x00800000L /*!< ステータス更新フラグ: 視界の追加更新 / Mega-Hack -- Delayed visual update */ -#define PU_MONSTERS 0x01000000L /*!< ステータス更新フラグ: モンスターのステータス / Update monsters */ -#define PU_DISTANCE 0x02000000L /*!< ステータス更新フラグ: プレイヤーとモンスターの距離 / Update distances */ -/* xxx */ -#define PU_FLOW 0x10000000L /*!< ステータス更新フラグ: プレイヤーから各マスへの到達距離 / Update flow */ -/* xxx (many) */ /* @@ -2790,17 +2575,17 @@ /* * Bit flags for the place_monster_???() (etc) */ -#define PM_ALLOW_SLEEP 0x00000001 -#define PM_ALLOW_GROUP 0x00000002 -#define PM_FORCE_FRIENDLY 0x00000004 -#define PM_FORCE_PET 0x00000008 -#define PM_NO_KAGE 0x00000010 -#define PM_NO_PET 0x00000020 -#define PM_ALLOW_UNIQUE 0x00000040 -#define PM_IGNORE_TERRAIN 0x00000080 -#define PM_HASTE 0x00000100 -#define PM_KAGE 0x00000200 -#define PM_MULTIPLY 0x00000400 +#define PM_ALLOW_SLEEP 0x00000001 /*!< モンスター生成フラグ: 眠っている状態で生成されても良い */ +#define PM_ALLOW_GROUP 0x00000002 /*!< モンスター生成フラグ: 集団生成されても良い */ +#define PM_FORCE_FRIENDLY 0x00000004 /*!< モンスター生成フラグ: 必ず友好的に生成される */ +#define PM_FORCE_PET 0x00000008 /*!< モンスター生成フラグ: 必ずペットとして生成される */ +#define PM_NO_KAGE 0x00000010 /*!< モンスター生成フラグ: 必ずあやしい影としては生成されない */ +#define PM_NO_PET 0x00000020 /*!< モンスター生成フラグ: 必ずペットとして生成されない */ +#define PM_ALLOW_UNIQUE 0x00000040 /*!< モンスター生成フラグ: ユニークの選択生成を許可する */ +#define PM_IGNORE_TERRAIN 0x00000080 /*!< モンスター生成フラグ: 侵入可能地形を考慮せずに生成する */ +#define PM_HASTE 0x00000100 /*!< モンスター生成フラグ: 加速状態で生成する */ +#define PM_KAGE 0x00000200 /*!< モンスター生成フラグ: 必ずあやしい影として生成する */ +#define PM_MULTIPLY 0x00000400 /*!< モンスター生成フラグ: 増殖処理時として生成する */ /* Bit flags for monster_desc() */ @@ -3154,7 +2939,7 @@ * OM_NOMSG --- temporary flag to suppress messages which were * already printed in autopick_pickup_items(). */ -#define OM_FOUND 0x01 /* original boolean flag */ +#define OM_FOUND 0x01 /*!< アイテムを一度でも視界に収めたことがあるか */ #define OM_NOMSG 0x02 /* temporary flag to suppress messages */ #define OM_NO_QUERY 0x04 /* Query for auto-pick was already answered as 'No' */ #define OM_AUTODESTROY 0x08 /* Destroy later to avoid illegal inventry shift */ @@ -3165,7 +2950,7 @@ * Special Monster Flags (all temporary) */ #define MFLAG_VIEW 0x01 /* Monster is in line of sight */ -#define MFLAG_TEMP 0x02 /* Monster is marked for project_hack() */ +#define MFLAG_TEMP 0x02 /* Monster is marked for project_all_los() */ #define MFLAG_XXX2 0x04 /* (unused) */ #define MFLAG_XXX3 0x08 /* (unused) */ #define MFLAG_BORN 0x10 /* Monster is still being born */ @@ -3601,7 +3386,7 @@ #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_ANGEL 0x00010000 /*!< モンスター特性: 天使 / ANGEL */ #define RF3_XXX17 0x00020000 /*!< モンスター特性: 未使用 / XXX */ #define RF3_XXX18 0x00040000 /*!< モンスター特性: 未使用 / XXX */ #define RF3_XXX19 0x00080000 /*!< モンスター特性: 未使用 / XXX */ @@ -4715,6 +4500,8 @@ extern int PlayerUID; #define GINOU_SUDE 0 #define GINOU_NITOURYU 1 #define GINOU_RIDING 2 +#define GINOU_SHIELD 3 +#define GINOU_TEMPMAX 4 #define GINOU_MAX 10 /* Proficiency level */ @@ -5172,6 +4959,7 @@ extern int PlayerUID; #define MON_WYRM_SPACE 1064 #define MON_JIZOTAKO 1065 #define MON_TANUKI 1067 +#define MON_ALIEN_JURAL 1082 #define MON_HATOPOPPO 1083 #define MON_KOGAN 1096 @@ -5311,8 +5099,8 @@ extern int PlayerUID; #define DF1_CAVE 0x00000400L #define DF1_CAVERN 0x00000800L #define DF1_ARCADE 0x00001000L -#define DF1_XXX13 0x00002000L -#define DF1_XXX14 0x00004000L +#define DF1_LAKE_ACID 0x00002000L +#define DF1_LAKE_POISONOUS 0x00004000L #define DF1_XXX15 0x00008000L #define DF1_FORGET 0x00010000L #define DF1_LAKE_WATER 0x00020000L @@ -5328,10 +5116,10 @@ extern int PlayerUID; #define DF1_NO_MELEE 0x08000000L #define DF1_CHAMELEON 0x10000000L #define DF1_DARKNESS 0x20000000L -#define DF1_XXX30 0x40000000L -#define DF1_XXX31 0x80000000L +#define DF1_ACID_RIVER 0x40000000L +#define DF1_POISONOUS_RIVER 0x80000000L -#define DF1_LAKE_MASK (DF1_LAKE_WATER | DF1_LAKE_LAVA | DF1_LAKE_RUBBLE | DF1_LAKE_TREE) +#define DF1_LAKE_MASK (DF1_LAKE_WATER | DF1_LAKE_LAVA | DF1_LAKE_RUBBLE | DF1_LAKE_TREE | DF1_LAKE_POISONOUS | DF1_LAKE_ACID) #define DUNGEON_ANGBAND 1 #define DUNGEON_GALGALS 2 @@ -5471,6 +5259,9 @@ extern int PlayerUID; #define P_PTR_KI (p_ptr->magic_num1[0]) +#define IS_WIZARD_CLASS() \ + (p_ptr->pclass == CLASS_MAGE || p_ptr->pclass == CLASS_HIGH_MAGE || p_ptr->pclass == CLASS_SORCERER || p_ptr->pclass == CLASS_MAGIC_EATER || p_ptr->pclass == CLASS_BLUE_MAGE) + /* Multishadow effects is determined by turn */ #define CHECK_MULTISHADOW() (p_ptr->multishadow && (turn & 1)) @@ -5671,3 +5462,8 @@ extern int PlayerUID; #define COMMAND_ARG_REST_UNTIL_DONE -2 /*!<休憩コマンド引数 … 必要な分だけ回復 */ #define COMMAND_ARG_REST_FULL_HEALING -1 /*!<休憩コマンド引数 … HPとMPが全回復するまで */ + +/*! + * チートオプションの最大数 / Number of cheating options + */ +#define CHEAT_MAX 10