X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fdefines.h;h=e4ef1c00b89d51beda1fe412d3f2c652074afb6d;hb=98225695dd8c03500d7d823ed8b711f8bcd70e4d;hp=14922db13dc996c31f13d022884e9e936c1ff2a7;hpb=8b27fa07d315c6b9ec79421a27b0eceb082d5ab4;p=hengband%2Fhengband.git diff --git a/src/defines.h b/src/defines.h index 14922db13..e4ef1c00b 100644 --- a/src/defines.h +++ b/src/defines.h @@ -52,8 +52,8 @@ #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */ #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */ -#define FAKE_VER_PATCH 0 /*!< ゲームのバージョン番号定義(パッチ番号) */ -#define FAKE_VER_EXTRA 91 /*!< ゲームのバージョン番号定義(エクストラ番号) */ +#define FAKE_VER_PATCH 1 /*!< ゲームのバージョン番号定義(パッチ番号) */ +#define FAKE_VER_EXTRA 7 /*!< ゲームのバージョン番号定義(エクストラ番号) */ /*! @@ -132,56 +132,22 @@ #define MAX_WID 198 /* - * Quest constants - */ -#define MIN_RANDOM_QUEST 40 /* MAX_RANDOM_QUEST)) - -#define QUEST_TOWER1 5 /*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 +450,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 +532,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 +587,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 +639,7 @@ #define SEIKAKU_LUCKY 9 #define SEIKAKU_GAMAN 10 #define SEIKAKU_MUNCHKIN 11 +#define SEIKAKU_CHARGEMAN 12 /*** Screen Locations ***/ @@ -930,14 +696,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 +804,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_COLD_PUDDLE 48 /*!< 冷気溜まりがある */ +#define FF_ACID_PUDDLE 49 /*!< 酸溜まりがある */ /* #define FF_OIL 50 */ /*!< 未使用 */ -/* #define FF_XXX04 51 */ /*!< 未使用 */ +#define FF_ELEC_PUDDLE 51 /*!< 接地部が帯電している */ /* #define FF_CAN_CLIMB 52 */ /*!< 未使用 */ #define FF_CAN_FLY 53 /*!< 飛行可能な地形である */ #define FF_CAN_SWIM 54 /*!< 泳ぐことが可能な地形である */ @@ -1157,36 +923,6 @@ feat_door[(DOOR_TYPE)].jammed[randint0(feat_door[(DOOR_TYPE)].num_jammed)] : feat_none) -/* Types of normal traps */ -#define NOT_TRAP -1 -#define TRAP_TRAPDOOR 0 -#define TRAP_PIT 1 -#define TRAP_SPIKED_PIT 2 -#define TRAP_POISON_PIT 3 -#define TRAP_TY_CURSE 4 -#define TRAP_TELEPORT 5 -#define TRAP_FIRE 6 -#define TRAP_ACID 7 -#define TRAP_SLOW 8 -#define TRAP_LOSE_STR 9 -#define TRAP_LOSE_DEX 10 -#define TRAP_LOSE_CON 11 -#define TRAP_BLIND 12 -#define TRAP_CONFUSE 13 -#define TRAP_POISON 14 -#define TRAP_SLEEP 15 -#define TRAP_TRAPS 16 -#define TRAP_ALARM 17 - - -/* Types of special traps */ -#define TRAP_OPEN 18 -#define TRAP_ARMAGEDDON 19 -#define TRAP_PIRANHA 20 - - -/* Maximum locked/jammed doors */ -#define MAX_LJ_DOORS 8 /* Types of pattern tiles */ @@ -1229,268 +965,6 @@ #define F_LIT_MAX 3 -/*** Artifact indexes (see "lib/edit/a_info.txt") ***/ - -/* Lites */ -#define ART_GALADRIEL 1 -#define ART_ELENDIL 2 -#define ART_JUDGE 3 -#define ART_EDISON 7 -#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_DWARVES 6 -#define ART_FARAMIR 18 -#define ART_BOROMIR 143 -#define ART_MAGATAMA 149 -#define ART_INROU 166 -#define ART_NIGHT 215 -#define ART_SACRED_KNIGHTS 217 -#define ART_HELL 218 -#define ART_CHARMED 219 -#define ART_GOGO 220 - -/* Rings */ -#define ART_FRAKIR 8 -#define ART_TULKAS 9 -#define ART_NARYA 10 -#define ART_NENYA 11 -#define ART_VILYA 12 -#define ART_POWER 13 -#define ART_AHO 14 - -/* Dragon Scale */ -#define ART_RAZORBACK 129 -#define ART_BLADETURNER 130 -#define ART_SEIRYU 201 - -/* Hard Armour */ -#define ART_SOULKEEPER 19 -#define ART_ISILDUR 20 -#define ART_ROHIRRIM 21 -#define ART_LOHENGRIN 22 -#define ART_JULIAN 23 -#define ART_ARVEDUI 24 -#define ART_CASPANION 25 -#define ART_GILES 168 -#define ART_MORLOK 203 -#define ART_VETERAN 206 - -/* Soft Armour */ -#define ART_SHIVA_JACKET 26 -#define ART_HITHLOMIR 27 -#define ART_THALKETTOTH 28 -#define ART_HIMRING 127 -#define ART_ICANUS 131 -#define ART_NAMAKE_ARMOR 183 -#define ART_GHB 192 -#define ART_DASAI 200 -#define ART_KESHO 204 -#define ART_MILIM 246 - -/* Shields */ -#define ART_THORIN 30 -#define ART_CELEGORM 31 -#define ART_ANARION 32 -#define ART_GIL_GALAD 138 -#define ART_YENDOR 141 -#define ART_YATA 151 -#define ART_EARENDIL 186 -#define ART_PERSEUS 197 - -/* Helms and Crowns */ -#define ART_INDRA 33 -#define ART_CHAOS 34 -#define ART_BERUTHIEL 35 -#define ART_THRANDUIL 36 -#define ART_THENGEL 37 -#define ART_HAMMERHAND 38 -#define ART_DOR 39 -#define ART_HOLHENNETH 40 -#define ART_TERROR 41 -#define ART_AMBER 42 -#define ART_NUMENOR 132 -#define ART_STONEMASK 146 - -/* Cloaks */ -#define ART_JACK 43 -#define ART_COLLUIN 44 -#define ART_HOLCOLLETH 45 -#define ART_THINGOL 46 -#define ART_THORONGIL 47 -#define ART_COLANNON 48 -#define ART_LUTHIEN 49 -#define ART_TUOR 50 -#define ART_MOOK 205 -#define ART_HEAVENLY_MAIDEN 233 - -/* Gloves */ -#define ART_CAMBELEG 52 -#define ART_CAMMITHRIM 53 -#define ART_PAURHACH 54 -#define ART_CORWIN 55 -#define ART_PAURAEGEN 56 -#define ART_PAURNEN 57 -#define ART_THANOS 58 -#define ART_FINGOLFIN 59 -#define ART_PAURNIMMEN 185 - -/* Boots */ -#define ART_FEANOR 60 -#define ART_FLORA 61 -#define ART_THROR 62 -#define ART_SHIVA_BOOTS 63 -#define ART_GLASS 165 -#define ART_GETA 210 - -/* Digging */ -#define ART_NAIN 211 - -/* Swords */ -#define ART_MAEDHROS 64 -#define ART_CAINE 65 -#define ART_NARTHANC 66 -#define ART_NIMTHANC 67 -#define ART_DETHANC 68 -#define ART_RILIA 69 -#define ART_FIONA 70 -#define ART_CALRIS 71 -#define ART_GRAYSWANDIR 72 -#define ART_GLAMDRING 73 -#define ART_NOTHUNG 74 -#define ART_ORCRIST 75 -#define ART_GURTHANG 76 -#define ART_ZARCUTHRA 77 -#define ART_TWILIGHT 78 -#define ART_GONDRICAM 79 -#define ART_CRISDURIAN 80 -#define ART_AGLARANG 81 -#define ART_RINGIL 82 -#define ART_ANDURIL 83 -#define ART_WEREWINDLE 84 -#define ART_CHAINSWORD 85 -#define ART_FORASGIL 86 -#define ART_CARETH 87 -#define ART_STING 88 -#define ART_SOULSWORD 89 -#define ART_MERLIN 90 -#define ART_DOOMCALLER 91 -#define ART_VORPAL_BLADE 92 -#define ART_SLAYER 123 -#define ART_KUSANAGI 128 -#define ART_HURIN 133 -#define ART_AZAGHAL 135 -#define ART_NOVA 137 -#define ART_CHARIOT 140 -#define ART_WORPAL_BLADE 142 -#define ART_MURAMASA 144 -#define ART_ZANTETSU 150 -#define ART_SOULCRUSH 154 -#define ART_FALIS 155 -#define ART_HRUNTING 156 -#define ART_ANUBIS 158 -#define ART_GURENKI 160 -#define ART_TAILBITER 167 -#define ART_MUSASI_KATANA 171 -#define ART_MUSASI_WAKIZASI 172 -#define ART_QUICKTHORN 174 -#define ART_TINYTHORN 175 -#define ART_EXCALIBUR 176 -#define ART_EXCALIPUR 177 -#define ART_EXCALIBUR_J 179 -#define ART_ARUNRUTH 184 -#define ART_HAKABUSA 189 -#define ART_STORMBRINGER 190 -#define ART_NARSIL 191 -#define ART_KANNU 193 -#define ART_GRIMTOOTH 196 -#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 -#define ART_PAIN 94 -#define ART_OSONDIR 95 -#define ART_TIL 96 -#define ART_RUNESPEAR 97 -#define ART_DESTINY 98 -#define ART_HAGEN 99 -#define ART_EORLINGAS 100 -#define ART_DURIN 101 -#define ART_EONWE 102 -#define ART_BALLI 103 -#define ART_LOTHARANG 104 -#define ART_DWARVES_AXE 105 -#define ART_BARUKKHELED 106 -#define ART_WRATH 107 -#define ART_ULMO 108 -#define ART_AVAVIR 109 -#define ART_BENKEI 152 -#define ART_TAIKOBO 159 -#define ART_TONBO 161 -#define ART_GAEBOLG 163 -#define ART_ARRYU 164 -#define ART_AEGLOS 187 -#define ART_BLOOD 199 -#define ART_NUMAHOKO 202 - -/* The sword of the Dawn */ -#define ART_DAWN 110 - -/* Hafted */ -#define ART_GROND 111 -#define ART_TOTILA 112 -#define ART_THUNDERFIST 113 -#define ART_BLOODSPIKE 114 -#define ART_FIRESTAR 115 -#define ART_TARATOL 116 -#define ART_AULE 117 -#define ART_NAR 118 -#define ART_ERIRIL 119 -#define ART_GANDALF 120 -#define ART_DEATHWREAKER 121 -#define ART_TURMIL 122 -#define ART_MJOLLNIR 136 -#define ART_WINBLOWS 139 -#define ART_XIAOLONG 145 -#define ART_NYOIBOU 157 -#define ART_JONES 162 -#define ART_HYOUSIGI 169 -#define ART_MATOI 170 -#define ART_IRON_BALL 173 -#define ART_SAMSON 178 -#define ART_NAMAKE_HAMMER 181 -#define ART_BOLISHOI 188 -#define ART_SHUTEN_DOJI 194 -#define ART_G_HAMMER 195 -#define ART_AEGISFANG 208 -#define ART_HERMIT 209 -#define ART_GOTHMOG 212 -#define ART_JIZO 213 -#define ART_FUNDIN 214 -#define ART_AESCULAPIUS 225 - -/* Bows */ -#define ART_BELTHRONDING 124 -#define ART_BARD 125 -#define ART_BRAND 126 -#define ART_CRIMSON 16 -#define ART_BUCKLAND 134 -#define ART_YOICHI 148 -#define ART_HARAD 180 -#define ART_NAMAKE_BOW 182 -#define ART_ROBIN_HOOD 221 -#define ART_HELLFIRE 222 - -/* Arrows */ -#define ART_BARD_ARROW 153 /*** Ego-Item indexes (see "lib/edit/e_info.txt") ***/ @@ -1734,17 +1208,17 @@ #define ACT_BO_FIRE_1 7 #define ACT_BA_COLD_1 8 #define ACT_BA_FIRE_1 9 -#define ACT_DRAIN_1 10 +#define ACT_HYPODYNAMIA_1 10 #define ACT_BA_COLD_2 11 #define ACT_BA_ELEC_2 12 -#define ACT_DRAIN_2 13 -#define ACT_VAMPIRE_1 14 +#define ACT_HYPODYNAMIA_2 13 +#define ACT_DRAIN_1 14 #define ACT_BO_MISS_2 15 #define ACT_BA_FIRE_3 16 #define ACT_BA_COLD_3 17 #define ACT_BA_ELEC_3 18 #define ACT_WHIRLWIND 19 -#define ACT_VAMPIRE_2 20 +#define ACT_DRAIN_2 20 #define ACT_CALL_CHAOS 21 #define ACT_ROCKET 22 #define ACT_DISP_EVIL 23 @@ -1812,8 +1286,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 @@ -2324,7 +1798,7 @@ #define SV_WAND_SLOW_MONSTER 9 #define SV_WAND_CONFUSE_MONSTER 10 #define SV_WAND_FEAR_MONSTER 11 -#define SV_WAND_DRAIN_LIFE 12 +#define SV_WAND_HYPODYNAMIA 12 #define SV_WAND_POLYMORPH 13 #define SV_WAND_STINKING_CLOUD 14 #define SV_WAND_MAGIC_MISSILE 15 @@ -2364,7 +1838,7 @@ #define SV_ROD_LITE 15 #define SV_ROD_SLEEP_MONSTER 16 #define SV_ROD_SLOW_MONSTER 17 -#define SV_ROD_DRAIN_LIFE 18 +#define SV_ROD_HYPODYNAMIA 18 #define SV_ROD_POLYMORPH 19 #define SV_ROD_ACID_BOLT 20 #define SV_ROD_ELEC_BOLT 21 @@ -2449,7 +1923,7 @@ #define SV_POTION_POISON 6 #define SV_POTION_BLINDNESS 7 /* xxx */ -#define SV_POTION_CONFUSION 9 +#define SV_POTION_BOOZE 9 /* xxx */ #define SV_POTION_SLEEP 11 /* xxx */ @@ -2561,18 +2035,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 /*!< フロア属性のあるマス */ @@ -2593,39 +2067,6 @@ /* - * Bit flags for the "project()" function - * - * JUMP: Jump directly to the target location (this is a hack) - * THRU: Continue "through" the target (used for "bolts"/"beams") - * 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) - * 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 /*!< 遠隔攻撃特性: ビーム範囲を持つ / Work as a beam weapon (affect every grid passed through) */ -#define PROJECT_THRU 0x04 -#define PROJECT_STOP 0x08 -#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 /*!< 遠隔攻撃特性: 反射可能(ボルト系魔法に利用) / Refrectable spell attacks (used for "bolts") */ -#define PROJECT_NO_HANGEKI 0x1000 -#define PROJECT_PATH 0x2000 -#define PROJECT_FAST 0x4000 -#define PROJECT_LOS 0x8000 - - -/* * Special caster ID for project() */ #define PROJECT_WHO_UNCTRL_POWER -1 /*!< 魔法効果の自然発生要因: 名状し難い力の解放 */ @@ -2641,17 +2082,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 */ /* @@ -2663,83 +2099,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) */ /* @@ -2799,21 +2176,6 @@ #define PW_BORG_1 0x00004000L /*!<サブウィンドウ描画フラグ: ボーグメッセージ / Display borg messages */ #define PW_BORG_2 0x00008000L /*!<サブウィンドウ描画フラグ: ボーグステータス / Display borg status */ -/* - * Bit flags for the place_monster_???() (etc) - */ -#define PM_ALLOW_SLEEP 0x00000001 -#define PM_ALLOW_GROUP 0x00000002 -#define PM_FORCE_FRIENDLY 0x00000004 -#define PM_FORCE_PET 0x00000008 -#define PM_NO_KAGE 0x00000010 -#define PM_NO_PET 0x00000020 -#define PM_ALLOW_UNIQUE 0x00000040 -#define PM_IGNORE_TERRAIN 0x00000080 -#define PM_HASTE 0x00000100 -#define PM_KAGE 0x00000200 -#define PM_MULTIPLY 0x00000400 - /* Bit flags for monster_desc() */ #define MD_OBJECTIVE 0x00000001 /* Objective (or Reflexive) */ @@ -2962,109 +2324,110 @@ /* * Spell types used by project(), and related functions. */ -#define GF_ELEC 1 -#define GF_POIS 2 -#define GF_ACID 3 -#define GF_COLD 4 -#define GF_FIRE 5 -#define GF_PSY_SPEAR 9 -#define GF_MISSILE 10 -#define GF_ARROW 11 -#define GF_PLASMA 12 +#define GF_ELEC 1 /*!< 魔法効果: 電撃*/ +#define GF_POIS 2 /*!< 魔法効果: 毒*/ +#define GF_ACID 3 /*!< 魔法効果: 酸*/ +#define GF_COLD 4 /*!< 魔法効果: 冷気*/ +#define GF_FIRE 5 /*!< 魔法効果: 火炎*/ +#define GF_PSY_SPEAR 9 /*!< 魔法効果: 光の剣*/ +#define GF_MISSILE 10 /*!< 魔法効果: 弱魔力*/ +#define GF_ARROW 11 /*!< 魔法効果: 射撃*/ +#define GF_PLASMA 12 /*!< 魔法効果: プラズマ*/ /* Replaced with GF_HOLY_FIRE and GF_HELL_FIRE */ /* #define GF_HOLY_ORB 13 */ -#define GF_WATER 14 -#define GF_LITE 15 -#define GF_DARK 16 -#define GF_LITE_WEAK 17 -#define GF_DARK_WEAK 18 -#define GF_SHARDS 20 -#define GF_SOUND 21 -#define GF_CONFUSION 22 -#define GF_FORCE 23 -#define GF_INERTIAL 24 -#define GF_MANA 26 -#define GF_METEOR 27 -#define GF_ICE 28 -#define GF_CHAOS 30 -#define GF_NETHER 31 -#define GF_DISENCHANT 32 -#define GF_NEXUS 33 -#define GF_TIME 34 -#define GF_GRAVITY 35 -#define GF_KILL_WALL 40 -#define GF_KILL_DOOR 41 -#define GF_KILL_TRAP 42 -#define GF_MAKE_WALL 45 -#define GF_MAKE_DOOR 46 -#define GF_MAKE_TRAP 47 -#define GF_MAKE_TREE 48 -#define GF_OLD_CLONE 51 -#define GF_OLD_POLY 52 -#define GF_OLD_HEAL 53 -#define GF_OLD_SPEED 54 -#define GF_OLD_SLOW 55 -#define GF_OLD_CONF 56 -#define GF_OLD_SLEEP 57 -#define GF_OLD_DRAIN 58 -#define GF_AWAY_UNDEAD 61 -#define GF_AWAY_EVIL 62 -#define GF_AWAY_ALL 63 -#define GF_TURN_UNDEAD 64 -#define GF_TURN_EVIL 65 -#define GF_TURN_ALL 66 -#define GF_DISP_UNDEAD 67 -#define GF_DISP_EVIL 68 -#define GF_DISP_ALL 69 -#define GF_DISP_DEMON 70 /* New types for Zangband begin here... */ -#define GF_DISP_LIVING 71 -#define GF_ROCKET 72 -#define GF_NUKE 73 -#define GF_MAKE_GLYPH 74 -#define GF_STASIS 75 -#define GF_STONE_WALL 76 -#define GF_DEATH_RAY 77 -#define GF_STUN 78 -#define GF_HOLY_FIRE 79 -#define GF_HELL_FIRE 80 -#define GF_DISINTEGRATE 81 -#define GF_CHARM 82 -#define GF_CONTROL_UNDEAD 83 -#define GF_CONTROL_ANIMAL 84 -#define GF_PSI 85 -#define GF_PSI_DRAIN 86 -#define GF_TELEKINESIS 87 -#define GF_JAM_DOOR 88 -#define GF_DOMINATION 89 -#define GF_DISP_GOOD 90 -#define GF_DRAIN_MANA 91 -#define GF_MIND_BLAST 92 -#define GF_BRAIN_SMASH 93 -#define GF_CAUSE_1 94 -#define GF_CAUSE_2 95 -#define GF_CAUSE_3 96 -#define GF_CAUSE_4 97 -#define GF_HAND_DOOM 98 -#define GF_CAPTURE 99 -#define GF_ANIM_DEAD 100 -#define GF_CONTROL_LIVING 101 -#define GF_IDENTIFY 102 -#define GF_ATTACK 103 -#define GF_ENGETSU 104 -#define GF_GENOCIDE 105 -#define GF_PHOTO 106 -#define GF_CONTROL_DEMON 107 -#define GF_LAVA_FLOW 108 -#define GF_BLOOD_CURSE 109 -#define GF_SEEKER 110 -#define GF_SUPER_RAY 111 -#define GF_STAR_HEAL 112 -#define GF_WATER_FLOW 113 -#define GF_CRUSADE 114 -#define GF_STASIS_EVIL 115 -#define GF_WOUNDS 116 - -#define MAX_GF 117 +#define GF_WATER 14 /*!< 魔法効果: 水流*/ +#define GF_LITE 15 /*!< 魔法効果: 閃光*/ +#define GF_DARK 16 /*!< 魔法効果: 暗黒*/ +#define GF_LITE_WEAK 17 /*!< 魔法効果: 弱光*/ +#define GF_DARK_WEAK 18 /*!< 魔法効果: 弱暗*/ +#define GF_SHARDS 20 /*!< 魔法効果: 破片*/ +#define GF_SOUND 21 /*!< 魔法効果: 轟音*/ +#define GF_CONFUSION 22 /*!< 魔法効果: 混乱*/ +#define GF_FORCE 23 /*!< 魔法効果: フォース*/ +#define GF_INERTIAL 24 /*!< 魔法効果: 遅鈍*/ +#define GF_MANA 26 /*!< 魔法効果: 純粋魔力*/ +#define GF_METEOR 27 /*!< 魔法効果: 隕石*/ +#define GF_ICE 28 /*!< 魔法効果: 極寒*/ +#define GF_CHAOS 30 /*!< 魔法効果: カオス*/ +#define GF_NETHER 31 /*!< 魔法効果: 地獄*/ +#define GF_DISENCHANT 32 /*!< 魔法効果: 劣化*/ +#define GF_NEXUS 33 /*!< 魔法効果: 因果混乱*/ +#define GF_TIME 34 /*!< 魔法効果: 時間逆転*/ +#define GF_GRAVITY 35 /*!< 魔法効果: 重力*/ +#define GF_KILL_WALL 40 /*!< 魔法効果: 岩石溶解*/ +#define GF_KILL_DOOR 41 /*!< 魔法効果: ドア破壊*/ +#define GF_KILL_TRAP 42 /*!< 魔法効果: トラップ破壊*/ +#define GF_MAKE_WALL 45 /*!< 魔法効果: 壁生成*/ +#define GF_MAKE_DOOR 46 /*!< 魔法効果: ドア生成*/ +#define GF_MAKE_TRAP 47 /*!< 魔法効果: トラップ生成*/ +#define GF_MAKE_TREE 48 /*!< 魔法効果: 森林生成*/ +#define GF_OLD_CLONE 51 /*!< 魔法効果: クローン・モンスター*/ +#define GF_OLD_POLY 52 /*!< 魔法効果: チェンジ・モンスター*/ +#define GF_OLD_HEAL 53 /*!< 魔法効果: 回復モンスター*/ +#define GF_OLD_SPEED 54 /*!< 魔法効果: スピード・モンスター*/ +#define GF_OLD_SLOW 55 /*!< 魔法効果: スロウ・モンスター*/ +#define GF_OLD_CONF 56 /*!< 魔法効果: パニック・モンスター*/ +#define GF_OLD_SLEEP 57 /*!< 魔法効果: スリープ・モンスター*/ +#define GF_HYPODYNAMIA 58 /*!< 魔法効果: 衰弱*/ +#define GF_AWAY_UNDEAD 61 /*!< 魔法効果: アンデッド・アウェイ*/ +#define GF_AWAY_EVIL 62 /*!< 魔法効果: 邪悪飛ばし*/ +#define GF_AWAY_ALL 63 /*!< 魔法効果: テレポート・アウェイ*/ +#define GF_TURN_UNDEAD 64 /*!< 魔法効果: アンデッド恐慌*/ +#define GF_TURN_EVIL 65 /*!< 魔法効果: 邪悪恐慌*/ +#define GF_TURN_ALL 66 /*!< 魔法効果: モンスター恐慌*/ +#define GF_DISP_UNDEAD 67 /*!< 魔法効果: アンデッド退散*/ +#define GF_DISP_EVIL 68 /*!< 魔法効果: 邪悪退散*/ +#define GF_DISP_ALL 69 /*!< 魔法効果: モンスター退散*/ +/* New types for Zangband begin here... */ +#define GF_DISP_DEMON 70 /*!< 魔法効果: 悪魔退散*/ +#define GF_DISP_LIVING 71 /*!< 魔法効果: 生命退散*/ +#define GF_ROCKET 72 /*!< 魔法効果: ロケット*/ +#define GF_NUKE 73 /*!< 魔法効果: 放射性廃棄物*/ +#define GF_MAKE_GLYPH 74 /*!< 魔法効果: 守りのルーン生成*/ +#define GF_STASIS 75 /*!< 魔法効果: モンスター拘束*/ +#define GF_STONE_WALL 76 /*!< 魔法効果: 壁生成*/ +#define GF_DEATH_RAY 77 /*!< 魔法効果: 死の光線*/ +#define GF_STUN 78 /*!< 魔法効果: 朦朧*/ +#define GF_HOLY_FIRE 79 /*!< 魔法効果: 聖光*/ +#define GF_HELL_FIRE 80 /*!< 魔法効果: 地獄の劫火*/ +#define GF_DISINTEGRATE 81 /*!< 魔法効果: 分解*/ +#define GF_CHARM 82 /*!< 魔法効果: モンスター魅了*/ +#define GF_CONTROL_UNDEAD 83 /*!< 魔法効果: アンデッド支配*/ +#define GF_CONTROL_ANIMAL 84 /*!< 魔法効果: 動物支配*/ +#define GF_PSI 85 /*!< 魔法効果: サイキック攻撃*/ +#define GF_PSI_DRAIN 86 /*!< 魔法効果: 精神吸収*/ +#define GF_TELEKINESIS 87 /*!< 魔法効果: テレキシネス*/ +#define GF_JAM_DOOR 88 /*!< 魔法効果: 施錠*/ +#define GF_DOMINATION 89 /*!< 魔法効果: 精神支配*/ +#define GF_DISP_GOOD 90 /*!< 魔法効果: 善良退散*/ +#define GF_DRAIN_MANA 91 /*!< 魔法効果: 魔力吸収*/ +#define GF_MIND_BLAST 92 /*!< 魔法効果: 精神攻撃*/ +#define GF_BRAIN_SMASH 93 /*!< 魔法効果: 脳攻撃*/ +#define GF_CAUSE_1 94 /*!< 魔法効果: 軽傷の呪い*/ +#define GF_CAUSE_2 95 /*!< 魔法効果: 重傷の呪い*/ +#define GF_CAUSE_3 96 /*!< 魔法効果: 致命傷の呪い*/ +#define GF_CAUSE_4 97 /*!< 魔法効果: 秘孔を突く*/ +#define GF_HAND_DOOM 98 /*!< 魔法効果: 破滅の手*/ +#define GF_CAPTURE 99 /*!< 魔法効果: 捕縛*/ +#define GF_ANIM_DEAD 100 /*!< 魔法効果: 死者復活*/ +#define GF_CHARM_LIVING 101 /*!< 魔法効果: 生命魅了*/ +#define GF_IDENTIFY 102 /*!< 魔法効果: 鑑定*/ +#define GF_ATTACK 103 /*!< 魔法効果: 白兵*/ +#define GF_ENGETSU 104 /*!< 魔法効果: 円月*/ +#define GF_GENOCIDE 105 /*!< 魔法効果: 抹殺*/ +#define GF_PHOTO 106 /*!< 魔法効果: 撮影*/ +#define GF_CONTROL_DEMON 107 /*!< 魔法効果: 悪魔支配*/ +#define GF_LAVA_FLOW 108 /*!< 魔法効果: 溶岩噴出*/ +#define GF_BLOOD_CURSE 109 /*!< 魔法効果: 血の呪い*/ +#define GF_SEEKER 110 /*!< 魔法効果: シーカーレイ*/ +#define GF_SUPER_RAY 111 /*!< 魔法効果: スーパーレイ*/ +#define GF_STAR_HEAL 112 /*!< 魔法効果: 星の癒し*/ +#define GF_WATER_FLOW 113 /*!< 魔法効果: 流水*/ +#define GF_CRUSADE 114 /*!< 魔法効果: 聖戦*/ +#define GF_STASIS_EVIL 115 /*!< 魔法効果: 邪悪拘束*/ +#define GF_WOUNDS 116 /*!< 魔法効果: 創傷*/ + +#define MAX_GF 117 /* * Some things which induce learning @@ -3165,7 +2528,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 */ @@ -3176,7 +2539,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 */ @@ -3612,7 +2975,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 */ @@ -4537,11 +3900,12 @@ extern int PlayerUID; #define SOUND_UNUSED 63 /*!< (no sound for gaze attacks) */ #define SOUND_EXPLODE 64 /*!< Something (or somebody) explodes */ #define SOUND_GLASS 65 /*!< A glass feature was crashed */ +#define SOUND_REFLECT 66 /*!< A bolt was reflected */ /* * Mega-Hack -- maximum known sounds */ -#define SOUND_MAX 66 /*!< 効果音定義の最大数 */ +#define SOUND_MAX 67 /*!< 効果音定義の最大数 */ #define MAX_VIRTUE 18 /*!< 徳定義の最大数 */ @@ -4725,6 +4089,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 */ @@ -5182,6 +4548,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 @@ -5241,6 +4608,10 @@ extern int PlayerUID; #define MUSIC_DETECT 101 +#define SINGING_SONG_EFFECT(P_PTR) ((P_PTR)->magic_num1[0]) +#define INTERUPTING_SONG_EFFECT(P_PTR) ((P_PTR)->magic_num1[1]) +#define SINGING_COUNT(P_PTR) ((P_PTR)->magic_num1[2]) +#define SINGING_SONG_ID(P_PTR) ((P_PTR)->magic_num2[0]) #define music_singing(X) ((p_ptr->pclass == CLASS_BARD) && (p_ptr->magic_num1[0] == (X))) #define music_singing_any() ((p_ptr->pclass == CLASS_BARD) && p_ptr->magic_num1[0]) @@ -5317,8 +4688,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 @@ -5334,10 +4705,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 @@ -5364,21 +4735,6 @@ extern int PlayerUID; /* - * Flags for change floor mode - */ -#define CFM_UP 0x0001 /* Move up */ -#define CFM_DOWN 0x0002 /* Move down */ -#define CFM_LONG_STAIRS 0x0004 /* Randomly occurred long stairs/shaft */ -#define CFM_XXX 0x0008 /* XXX */ -#define CFM_SHAFT 0x0010 /* Shaft */ -#define CFM_RAND_PLACE 0x0020 /* Arrive at random grid */ -#define CFM_RAND_CONNECT 0x0040 /* Connect with random stairs */ -#define CFM_SAVE_FLOORS 0x0080 /* Save floors */ -#define CFM_NO_RETURN 0x0100 /* Flee from random quest etc... */ -#define CFM_FIRST_FLOOR 0x0200 /* Create exit from the dungeon */ - - -/* * Flags for save/load temporal saved floor file */ #define SLF_SECOND 0x0001 /* Called from another save/load function */ @@ -5475,6 +4831,11 @@ extern int PlayerUID; #define IS_TIM_ESP() (p_ptr->tim_esp || music_singing(MUSIC_MIND) || (p_ptr->concent >= CONCENT_TELE_THRESHOLD)) #define IS_TIM_STEALTH() (p_ptr->tim_stealth || music_singing(MUSIC_STEALTH)) +#define P_PTR_KI (p_ptr->magic_num1[0]) + +#define IS_WIZARD_CLASS() \ + (p_ptr->pclass == CLASS_MAGE || p_ptr->pclass == CLASS_HIGH_MAGE || p_ptr->pclass == CLASS_SORCERER || p_ptr->pclass == CLASS_MAGIC_EATER || p_ptr->pclass == CLASS_BLUE_MAGE) + /* Multishadow effects is determined by turn */ #define CHECK_MULTISHADOW() (p_ptr->multishadow && (turn & 1)) @@ -5493,7 +4854,7 @@ extern int PlayerUID; #define MAX_MACRO_TRIG 200 /*!< 登録を許すマクロ(トリガー)の最大数 */ /* Max size of screen dump buffer */ -#define SCREEN_BUF_SIZE 65536 +#define SCREEN_BUF_MAX_SIZE (4 * 65536) /* @@ -5581,6 +4942,12 @@ extern int PlayerUID; ((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0])) #define hex_spelling(X) \ ((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0] & (1L << (X)))) +#define CASTING_HEX_FLAGS(P_PTR) ((P_PTR)->magic_num1[0]) +#define CASTING_HEX_NUM(P_PTR) ((P_PTR)->magic_num2[0]) +#define HEX_REVENGE_POWER(P_PTR) ((P_PTR)->magic_num1[2]) +#define HEX_REVENGE_TURN(P_PTR) ((P_PTR)->magic_num2[2]) +#define HEX_REVENGE_TYPE(P_PTR) ((P_PTR)->magic_num2[1]) + /* 1st book */ #define HEX_BLESS 0 #define HEX_CURE_LIGHT 1 @@ -5667,3 +5034,10 @@ extern int PlayerUID; #define CHEAT_DUNGEON 2 #define CHEAT_MISC 3 +#define COMMAND_ARG_REST_UNTIL_DONE -2 /*!<休憩コマンド引数 … 必要な分だけ回復 */ +#define COMMAND_ARG_REST_FULL_HEALING -1 /*!<休憩コマンド引数 … HPとMPが全回復するまで */ + +/*! + * チートオプションの最大数 / Number of cheating options + */ +#define CHEAT_MAX 10