OSDN Git Service

[Refactor] #37353 cmd-mane.h を作成して変数宣言移動。 mane.c を cmd-mane.c に改名。
[hengband/hengband.git] / src / defines.h
index 03bc760..5e5781b 100644 (file)
@@ -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 /*!< ゲームのバージョン番号定義(エクストラ番号) */
 
 
  /*!
 #define MAX_WID 198
 
 /*
- * Quest constants
- */
-#define MIN_RANDOM_QUEST 40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */
-#define MAX_RANDOM_QUEST 49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */
-
-/*!
- * @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 /*<! 塔クエスト(第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_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 /*!< 施設の種族/職業条件が一致している状態値 */
 
-#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) */
+#define MAX_SEIKAKU     13 /*!< 性格の最大定義数 */
 
 /* 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 MAX_SAVED_FLOORS       20 /*!< 保存フロアの最大数 / Maximum number of saved floors. */
 
 /*!
- * @brief プレイヤー用光源処理配列サイズ / Maximum size of the "lite" array (see "cave.c")
+ * @brief プレイヤー用光源処理配列サイズ / Maximum size of the "lite" array (see "current_floor_ptr->grid_array.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
 
 /*!
- * @brief モンスター用光源処理配列サイズ / Maximum size of the "mon_lite" array (see "cave.c")
+ * @brief モンスター用光源処理配列サイズ / Maximum size of the "mon_lite" array (see "current_floor_ptr->grid_array.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
 
 /*!
- * @brief 視界処理配列サイズ / Maximum size of the "view" array (see "cave.c")
+ * @brief 視界処理配列サイズ / Maximum size of the "view" array (see "current_floor_ptr->grid_array.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
 
 /*!
- * @brief 視界及び光源の過渡処理配列サイズ / Maximum size of the "temp" array (see "cave.c")
+ * @brief 視界及び光源の過渡処理配列サイズ / Maximum size of the "temp" array (see "current_floor_ptr->grid_array.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
 #define TEMP_MAX 2298
 
 /*!
- * @brief 再描画処理用配列サイズ / Maximum size of the "redraw" array (see "cave.c")
+ * @brief 再描画処理用配列サイズ / Maximum size of the "redraw" array (see "current_floor_ptr->grid_array.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 SPECIAL_KEY_STORE    253
 #define SPECIAL_KEY_QUIT     252
 
-/*
- * Store constants
- */
-#define STORE_INVEN_MAX 24              /* Max number of discrete objs in inven */
-#define STORE_CHOICES   48              /* Number of items to choose stock from */
-#define STORE_OBJ_LEVEL 5               /* Magic Level for normal stores */
-#define STORE_TURNOVER  9               /* Normal shop turnover, per day */
-#define STORE_MIN_KEEP  6               /* Min slots to "always" keep full */
-#define STORE_MAX_KEEP  18              /* Max slots to "always" keep full */
-#define STORE_SHUFFLE   21              /* 1/Chance (per day) of an owner changing */
-#define STORE_TICKS     1000            /* Number of ticks between turnovers */
-
 /*! @brief 消費する行動エネルギー値を正規乱数で返す(中央100/分散25) / Random energy */
 #define ENERGY_NEED() (randnor(100, 25))
 
  */
 #define TOWN_DAWN         10000   /*!< 1日分のターン / Number of ticks from dawn to dawn XXX */
 #define TURNS_PER_TICK    10L     /*!< 時間経過処理を行うターン数の刻み / Number of energy-gain-turns per ticks */
-#define INN_DUNGEON_TURN_ADJ 10   /*!< 宿屋で時間をつぶした場合に増えるdungeon_turnの倍率 */
+#define INN_DUNGEON_TURN_ADJ 10   /*!< 宿屋で時間をつぶした場合に増えるcurrent_world_ptr->dungeon_turnの倍率 */
 #define MAX_DAYS          20000   /*!< 内部処理中で保持される最大日数 / Maximum days */
 #define BREAK_GLYPH       550     /*!< 守りのルーンの強靭度 / Rune of protection resistance */
 #define BREAK_MINOR_GLYPH 299     /*!< 爆発のルーンの発動しやすさ / For explosive runes */
 #define 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 MAX_BIAS            20 /*!< ランダムアーティファクトバイアス:最大数 */
-
 /*** Pet constants ***/
 
 
 #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
 #define RACE_S_FAIRY            34
 #define RACE_KUTAR              35
 #define RACE_ANDROID            36
+#define RACE_MERFOLK            37
 
 /*
  * Maximum number of player "race" types (see "table.c", etc)
  */
-#define MAX_RACES               37
+#define MAX_RACES               38
 
 
 /*
 #define SEIKAKU_LUCKY   9
 #define SEIKAKU_GAMAN   10
 #define SEIKAKU_MUNCHKIN 11
+#define SEIKAKU_CHARGEMAN 12
 
 /*** Screen Locations ***/
 
 #define VER_INFO_ROW 3   //!< タイトル表記(行)
 
-/*
- * Some screen locations for various display routines
- * Currently, row 8 and 15 are the only "blank" rows.
- * That leaves a "border" around the "stat" values.
- */
-
-#define ROW_RACE                1
-#define COL_RACE                0       /* <race name> */
-
-/*#define ROW_CLASS               2 */
-/*#define COL_CLASS               0 */      /* <class name> */
-
-#define ROW_TITLE               2
-#define COL_TITLE               0       /* <title> or <mode> */
-
-/*#define ROW_SEIKAKU          4 */
-/*#define COL_SEIKAKU          0*/     /* <seikaku> */
-
-#define ROW_DAY                 21
-#define COL_DAY                 0       /* day */
-
-#define ROW_DUNGEON             22
-#define COL_DUNGEON             0       /* dungeon */
-
-#define ROW_LEVEL               3
-#define COL_LEVEL               0       /* "LEVEL xxxxxx" */
-
-#define ROW_EXP                 4
-#define COL_EXP                 0       /* "EXP xxxxxxxx" */
-
-#define ROW_GOLD                5
-#define COL_GOLD                0       /* "AU xxxxxxxxx" */
-
-#define ROW_EQUIPPY             6
-#define COL_EQUIPPY             0       /* equippy chars */
-
-#define ROW_STAT                7
-#define COL_STAT                0       /* "xxx   xxxxxx" */
-
-#define ROW_AC                  13
-#define COL_AC                  0       /* "Cur AC xxxxx" */
-
-#define ROW_HPMP                14
-#define COL_HPMP                0
-
-#define ROW_CURHP               14
-#define COL_CURHP               0       /* "Cur HP xxxxx" */
-
-#define ROW_CURSP               15
-#define COL_CURSP               0       /* "Cur SP xxxxx" */
-
-#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_CUT                 18
-#define COL_CUT                 0       /* <cut> */
-
-#define ROW_STUN                19
-#define COL_STUN                0       /* <stun> */
-
-#define ROW_HUNGRY              20
-#define COL_HUNGRY              0       /* "Weak" / "Hungry" / "Full" / "Gorged" */
-
-#define ROW_STATE               20
-#define COL_STATE                7      /* <state> */
-
-#define ROW_SPEED               (-1)
-#define COL_SPEED               (-24)      /* "Slow (-NN)" or "Fast (+NN)" */
-
-#define ROW_STUDY               (-1)
-#define COL_STUDY               (-13)      /* "Study" */
-
-#define ROW_DEPTH               (-1)
-#define COL_DEPTH               (-8)      /* "Lev NNN" / "NNNN ft" */
-
-#define ROW_STATBAR             (-1)
-#define COL_STATBAR              0
-#define MAX_COL_STATBAR         (-26)
 
+#define ROW_MAP                 0
+#define COL_MAP                 12
 
 /*
  * Number of feats we change to (Excluding default). Used in f_info.txt.
 /* #define FF_HURT_ACID     47 */       /*!< 未使用 */
 #define FF_COLD_PUDDLE   48             /*!< 冷気溜まりがある */
 #define FF_ACID_PUDDLE   49             /*!< 酸溜まりがある */
-/* #define FF_OIL           50          /*!< 未使用 */
+/* #define FF_OIL           50 */       /*!< 未使用 */
 #define FF_ELEC_PUDDLE   51             /*!< 接地部が帯電している */
 /* #define FF_CAN_CLIMB     52 */       /*!< 未使用 */
 #define FF_CAN_FLY       53             /*!< 飛行可能な地形である */
         feat_door[(DOOR_TYPE)].jammed[randint0(feat_door[(DOOR_TYPE)].num_jammed)] : feat_none)
 
 
-/* Types of normal traps */
-#define NOT_TRAP        -1
-#define TRAP_TRAPDOOR    0
-#define TRAP_PIT         1
-#define TRAP_SPIKED_PIT  2
-#define TRAP_POISON_PIT  3
-#define TRAP_TY_CURSE    4
-#define TRAP_TELEPORT    5
-#define TRAP_FIRE        6
-#define TRAP_ACID        7
-#define TRAP_SLOW        8
-#define TRAP_LOSE_STR    9
-#define TRAP_LOSE_DEX   10
-#define TRAP_LOSE_CON   11
-#define TRAP_BLIND      12
-#define TRAP_CONFUSE    13
-#define TRAP_POISON     14
-#define TRAP_SLEEP      15
-#define TRAP_TRAPS      16
-#define TRAP_ALARM      17
-
-
-/* Types of special traps */
-#define TRAP_OPEN       18
-#define TRAP_ARMAGEDDON 19
-#define TRAP_PIRANHA    20
-
-
-/* Maximum locked/jammed doors */
-#define MAX_LJ_DOORS 8
 
 
 /* Types of pattern tiles */
 #define 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") ***/
 
 #define EGO_AMU_NAIVETY         237
 // MAX 240
 
-/* Activation effects for random artifacts */
-#define ACT_SUNLIGHT            1
-#define ACT_BO_MISS_1           2
-#define ACT_BA_POIS_1           3
-#define ACT_BO_ELEC_1           4
-#define ACT_BO_ACID_1           5
-#define ACT_BO_COLD_1           6
-#define ACT_BO_FIRE_1           7
-#define ACT_BA_COLD_1           8
-#define ACT_BA_FIRE_1           9
-#define ACT_HYPODYNAMIA_1       10
-#define ACT_BA_COLD_2           11
-#define ACT_BA_ELEC_2           12
-#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_DRAIN_2             20
-#define ACT_CALL_CHAOS          21
-#define ACT_ROCKET              22
-#define ACT_DISP_EVIL           23
-#define ACT_BA_MISS_3           24
-#define ACT_DISP_GOOD           25
-#define ACT_BO_MANA             26
-#define ACT_BA_FIRE_2           27
-#define ACT_BA_WATER            28
-#define ACT_BA_STAR             29
-#define ACT_BA_DARK             30
-#define ACT_BA_MANA             31
-#define ACT_PESTICIDE           32
-#define ACT_BLINDING_LIGHT      33
-#define ACT_BIZARRE             34
-#define ACT_CAST_BA_STAR        35
-#define ACT_BLADETURNER         36
-#define ACT_BA_ACID_1           37
-#define ACT_BR_FIRE             38
-#define ACT_BR_COLD             39
-#define ACT_BR_DRAGON           40
-#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_TERROR              54
-#define ACT_TELE_AWAY           55
-#define ACT_BANISH_EVIL         56
-#define ACT_GENOCIDE            57
-#define ACT_MASS_GENO           58
-#define ACT_SCARE_AREA          59
-#define ACT_AGGRAVATE           60
-/* 59 - 64 unused */
-#define ACT_CHARM_ANIMAL        65
-#define ACT_CHARM_UNDEAD        66
-#define ACT_CHARM_OTHER         67
-#define ACT_CHARM_ANIMALS       68
-#define ACT_CHARM_OTHERS        69
-#define ACT_SUMMON_ANIMAL       70
-#define ACT_SUMMON_PHANTOM      71
-#define ACT_SUMMON_ELEMENTAL    72
-#define ACT_SUMMON_DEMON        73
-#define ACT_SUMMON_UNDEAD       74
-#define ACT_SUMMON_HOUND        75
-#define ACT_SUMMON_DAWN         76
-#define ACT_SUMMON_OCTOPUS      77
-/* 76 - 80 unused */
-#define ACT_CHOIR_SINGS         80
-#define ACT_CURE_LW             81
-#define ACT_CURE_MW             82
-#define ACT_CURE_POISON         83
-#define ACT_REST_EXP            84
-#define ACT_REST_ALL            85
-#define ACT_CURE_700            86
-#define ACT_CURE_1000           87
-#define ACT_CURING              88
-#define ACT_CURE_MANA_FULL      89
-/* 90 unused */
-#define ACT_ESP                 91
-#define ACT_BERSERK             92
-#define ACT_PROT_EVIL           93
-#define ACT_RESIST_ALL          94
-#define ACT_SPEED               95
-#define ACT_XTRA_SPEED          96
-#define ACT_WRAITH              97
-#define ACT_INVULN              98
-#define ACT_HERO                99
-#define ACT_HERO_SPEED          100
-#define ACT_RESIST_ACID         101
-#define ACT_RESIST_FIRE         102
-#define ACT_RESIST_COLD         103
-#define ACT_RESIST_ELEC         104
-#define ACT_RESIST_POIS         105
-/* 106 - 110 unused */
-#define ACT_LIGHT               111
-#define ACT_MAP_LIGHT           112
-#define ACT_DETECT_ALL          113
-#define ACT_DETECT_XTRA         114
-#define ACT_ID_FULL             115
-#define ACT_ID_PLAIN            116
-#define ACT_RUNE_EXPLO          117
-#define ACT_RUNE_PROT           118
-#define ACT_SATIATE             119
-#define ACT_DEST_DOOR           120
-#define ACT_STONE_MUD           121
-#define ACT_RECHARGE            122
-#define ACT_ALCHEMY             123
-#define ACT_DIM_DOOR            124
-#define ACT_TELEPORT            125
-#define ACT_RECALL              126
-#define ACT_JUDGE               127
-#define ACT_TELEKINESIS         128
-#define ACT_DETECT_UNIQUE       129
-#define ACT_ESCAPE              130
-#define ACT_DISP_CURSE_XTRA     131
-#define ACT_BRAND_FIRE_BOLTS    132
-#define ACT_RECHARGE_XTRA       133
-#define ACT_LORE                134
-#define ACT_SHIKOFUMI           135
-#define ACT_PHASE_DOOR          136
-#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 ACT_MURAMASA            253
-#define ACT_BLOODY_MOON         254
-#define ACT_CRIMSON             255
 
 /*** Object "tval" and "sval" codes ***/
 
 #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 */
 
 
 /*
- * 特殊なマス状態フラグ / Special cave grid flags
+ * 特殊なマス状態フラグ / Special grid flags
  */
 #define CAVE_MARK       0x0001    /*!< 現在プレイヤーの記憶に収まっている / memorized feature */
 #define CAVE_GLOW       0x0002    /*!< マス自体が光源を持っている / self-illuminating */
 #define CAVE_MNLT       0x0100    /*!< モンスターの光源によって照らされている / Illuminated by monster */
 #define CAVE_MNDK       0x8000    /*!< モンスターの暗源によって暗闇になっている / Darken by monster */
 
-/* Used only while cave generation */
+/* Used only while current_floor_ptr->grid_array generation */
 #define CAVE_FLOOR      0x0200 /*!< フロア属性のあるマス */
 #define CAVE_EXTRA      0x0400
 #define CAVE_INNER      0x0800
 #define CAVE_VAULT      0x4000
 #define CAVE_MASK (CAVE_FLOOR | CAVE_EXTRA | CAVE_INNER | CAVE_OUTER | CAVE_SOLID | CAVE_VAULT)
 
-/* Used only after cave generation */
+/* Used only after current_floor_ptr->grid_array generation */
 #define CAVE_KNOWN      0x0200    /* Directly viewed or map detected flag */
 #define CAVE_NOTE       0x0400    /* Flag for delayed visual update (needs note_spot()) */
 #define CAVE_REDRAW     0x0800    /* Flag for delayed visual update (needs lite_spot()) */
 
 
 /*
- * project()関数に用いられる、遠隔攻撃特性ビットフラグ / Bit flags for the "project()" function
- */
-#define PROJECT_JUMP        0x0001 /*!< 遠隔攻撃特性: 発動者からの軌跡を持たず、指定地点に直接発生する(予め置いたトラップ、上空からの発生などのイメージ) / Jump directly to the target location (this is a hack) */
-#define PROJECT_BEAM        0x0002 /*!< 遠隔攻撃特性: ビーム範囲を持つ。 / Work as a beam weapon (affect every grid passed through) */
-#define PROJECT_THRU        0x0004 /*!< 遠隔攻撃特性: 目標地点に到達しても射程と遮蔽の限り引き延ばす。 / Continue "through" the target (used for "bolts"/"beams") */
-#define PROJECT_STOP        0x0008 /*!< 遠隔攻撃特性: 道中にプレイヤーかモンスターがいた時点で到達地点を更新して停止する(壁や森はPROJECT_DISIがない限り最初から貫通しない) */
-#define PROJECT_GRID        0x0010 /*!< 遠隔攻撃特性: 射程内の地形に影響を及ぼす / Affect each grid in the "blast area" in some way */
-#define PROJECT_ITEM        0x0020 /*!< 遠隔攻撃特性: 射程内のアイテムに影響を及ぼす / Affect each object in the "blast area" in some way */
-#define PROJECT_KILL        0x0040 /*!< 遠隔攻撃特性: 射程内のモンスターに影響を及ぼす / Affect each monster in the "blast area" in some way */
-#define PROJECT_HIDE        0x0080 /*!< 遠隔攻撃特性: / Hack -- disable "visual" feedback from projection */
-#define PROJECT_DISI        0x0100 /*!< 遠隔攻撃特性: / Disintegrate non-permanent features */
-#define PROJECT_PLAYER      0x0200 /*!< 遠隔攻撃特性: / Main target is player (used for riding player) */
-#define PROJECT_AIMED       0x0400 /*!< 遠隔攻撃特性: / Target is only player or monster, so don't affect another. Depend on PROJECT_PLAYER. (used for minimum (rad == 0) balls on riding player) */
-#define PROJECT_REFLECTABLE 0x0800 /*!< 遠隔攻撃特性: 反射可能(ボルト系魔法に利用) / Refrectable spell attacks (used for "bolts") */
-#define PROJECT_NO_HANGEKI  0x1000 /*!< 遠隔攻撃特性: / Avoid counter attacks of monsters */
-#define PROJECT_PATH        0x2000 /*!< 遠隔攻撃特性: / Only used for printing project path */
-#define PROJECT_FAST        0x4000 /*!< 遠隔攻撃特性: / Hide "visual" of flying bolts until blast */
-#define PROJECT_LOS         0x8000 /*!< 遠隔攻撃特性: /  */
-
-
-/*
  * Special caster ID for project()
  */
 #define PROJECT_WHO_UNCTRL_POWER -1 /*!< 魔法効果の自然発生要因: 名状し難い力の解放 */
 #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 /*!< クローンである / Cloned */
-#define SM_PET                  0x00800000 /*!< ペットである / 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 /*!< 友好的である / 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) */
 
 
 /*
 #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) */
-#define MD_POSSESSIVE     0x00000002 /* Possessive (or Reflexive) */
-#define MD_INDEF_HIDDEN   0x00000004 /* Use indefinites for hidden monsters ("something") */
-#define MD_INDEF_VISIBLE  0x00000008 /* Use indefinites for visible monsters ("a kobold") */
-#define MD_PRON_HIDDEN    0x00000010 /* Pronominalize hidden monsters */
-#define MD_PRON_VISIBLE   0x00000020 /* Pronominalize visible monsters */
-#define MD_ASSUME_HIDDEN  0x00000040 /* Assume the monster is hidden */
-#define MD_ASSUME_VISIBLE 0x00000080 /* Assume the monster is visible */
-#define MD_TRUE_NAME      0x00000100 /* Chameleon's true name */
-#define MD_IGNORE_HALLU   0x00000200 /* Ignore hallucination, and penetrate shape change */
-
 
 /*
  * Bit flags for object_desc()
  * OM_NOMSG --- temporary flag to suppress messages which were
  *              already printed in autopick_pickup_items().
  */
-#define OM_FOUND        0x01    /* original boolean flag */
+#define OM_FOUND        0x01    /*!< アイテムを一度でも視界に収めたことがあるか */
 #define OM_NOMSG        0x02    /* temporary flag to suppress messages */
 #define OM_NO_QUERY     0x04    /* Query for auto-pick was already answered as 'No' */
 #define OM_AUTODESTROY  0x08    /* Destroy later to avoid illegal inventry shift */
 
 
 /*
- * Special Monster Flags (all temporary)
- */
-#define MFLAG_VIEW      0x01    /* Monster is in line of sight */
-#define MFLAG_TEMP      0x02    /* Monster is marked for project_hack() */
-#define MFLAG_XXX2      0x04    /* (unused) */
-#define MFLAG_XXX3      0x08    /* (unused) */
-#define MFLAG_BORN      0x10    /* Monster is still being born */
-#define MFLAG_NICE      0x20    /* Monster is still being nice */
-
-#define MFLAG2_KAGE      0x01    /* Monster is kage */
-#define MFLAG2_NOPET     0x02    /* Cannot make monster pet */
-#define MFLAG2_NOGENO    0x04    /* Cannot genocide */
-#define MFLAG2_CHAMELEON 0x08    /* Monster is chameleon */
-#define MFLAG2_NOFLOW    0x10    /* Monster is in no_flow_by_smell mode */
-#define MFLAG2_SHOW      0x20    /* Monster is recently memorized */
-#define MFLAG2_MARK      0x40    /* Monster is currently memorized */
-
-
-/*
  * Object flags
  *
  * Old variables for object flags such as flags1, flags2, and flags3
 #define RFR_XXX31           0x80000000
 
 
-/*
- * Hack -- choose "intelligent" spells when desperate
- * Including "summon" spells
- */
-#define RF4_INT_MASK \
-       (RF4_SUMMON_MASK | RF4_DISPEL)
-
-#define RF5_INT_MASK \
-       (RF5_SUMMON_MASK | \
-        RF5_HOLD | RF5_SLOW | RF5_CONF | RF5_BLIND | RF5_SCARE)
-
-#define RF6_INT_MASK \
-       (RF6_SUMMON_MASK | \
-        RF6_BLINK | RF6_TPORT | RF6_TELE_LEVEL | RF6_TELE_AWAY | \
-        RF6_HEAL | RF6_INVULNER | RF6_HASTE | RF6_TRAPS)
-
-/*
- * Hack -- spells that cannot be used while player riding on the monster
- */
-#define RF4_RIDING_MASK \
-       (RF4_SHRIEK)
-
-#define RF5_RIDING_MASK 0UL
-
-#define RF6_RIDING_MASK \
-       (RF6_BLINK | RF6_TPORT | RF6_TRAPS | RF6_DARKNESS | RF6_SPECIAL)
-
-/*
- * Hack -- "bolt" spells that may hurt fellow monsters
- * Currently "bolt" spells are included in "attack"
- */
-#define RF4_BOLT_MASK \
-       (RF4_ROCKET | RF4_SHOOT)
-
-#define RF5_BOLT_MASK \
-       (RF5_BO_ACID | RF5_BO_ELEC | RF5_BO_FIRE | RF5_BO_COLD | \
-        RF5_BO_NETH | RF5_BO_WATE | RF5_BO_MANA | RF5_BO_PLAS | \
-        RF5_BO_ICEE | RF5_MISSILE)
-
-#define RF6_BOLT_MASK 0UL
-
-/*
- * Hack -- "beam" spells that may hurt fellow monsters
- * Currently "beam" spells are included in "attack"
- */
-#define RF4_BEAM_MASK 0UL
-
-#define RF5_BEAM_MASK 0UL
-
-#define RF6_BEAM_MASK (RF6_PSY_SPEAR)
-
-/*
- * Hack -- "ball" spells that may hurt friends
- * Including "radius 4 ball" and "breath" spells
- * Currently "ball" spells are included in "attack"
- */
-#define RF4_BALL_MASK \
-       (RF4_BIG_BALL_MASK | RF4_BREATH_MASK | \
-        RF4_ROCKET | RF4_BA_NUKE)
-
-#define RF5_BALL_MASK \
-       (RF5_BIG_BALL_MASK | RF5_BREATH_MASK | \
-        RF5_BA_ACID | RF5_BA_ELEC | RF5_BA_FIRE | RF5_BA_COLD | \
-        RF5_BA_POIS | RF5_BA_NETH)
-
-#define RF6_BALL_MASK \
-       (RF6_BIG_BALL_MASK | RF6_BREATH_MASK)
-
-/*
- * Hack -- "ball" spells with radius 4 that may hurt friends
- * Currently "radius 4 ball" spells are included in "ball"
- */
-#define RF4_BIG_BALL_MASK \
-       (RF4_BA_CHAO)
-
-#define RF5_BIG_BALL_MASK \
-       (RF5_BA_LITE | RF5_BA_DARK | RF5_BA_WATE | RF5_BA_MANA)
-
-#define RF6_BIG_BALL_MASK 0UL
-
-/*
- * Hack -- "breath" spells that may hurt friends
- * Currently "breath" spells are included in "ball" and "non-magic"
- */
-#define RF4_BREATH_MASK \
-       (RF4_BR_ACID | RF4_BR_ELEC | RF4_BR_FIRE | RF4_BR_COLD | \
-        RF4_BR_POIS | RF4_BR_NETH | RF4_BR_LITE | RF4_BR_DARK | \
-        RF4_BR_CONF | RF4_BR_SOUN | RF4_BR_CHAO | RF4_BR_DISE | \
-        RF4_BR_NEXU | RF4_BR_SHAR | RF4_BR_TIME | RF4_BR_INER | \
-        RF4_BR_GRAV | RF4_BR_PLAS | RF4_BR_WALL | RF4_BR_MANA | \
-        RF4_BR_NUKE | RF4_BR_DISI)
-
-#define RF5_BREATH_MASK 0UL
-
-#define RF6_BREATH_MASK 0UL
-
-/*
- * Hack -- "summon" spells
- * Currently "summon" spells are included in "intelligent" and "indirect"
- */
-#define RF4_SUMMON_MASK 0UL
-
-#define RF5_SUMMON_MASK 0UL
-
-#define RF6_SUMMON_MASK \
-       (RF6_S_KIN | RF6_S_CYBER | RF6_S_MONSTER | RF6_S_MONSTERS | RF6_S_ANT | \
-        RF6_S_SPIDER | RF6_S_HOUND | RF6_S_HYDRA | RF6_S_ANGEL | RF6_S_DEMON | \
-        RF6_S_UNDEAD | RF6_S_DRAGON | RF6_S_HI_UNDEAD | RF6_S_HI_DRAGON | \
-        RF6_S_AMBERITES | RF6_S_UNIQUE)
-
-/*
- * Hack -- "attack" spells
- * Including "bolt", "beam" and "ball" spells
- */
-#define RF4_ATTACK_MASK \
-       (RF4_BOLT_MASK | RF4_BEAM_MASK | RF4_BALL_MASK | RF4_DISPEL)
-
-#define RF5_ATTACK_MASK \
-       (RF5_BOLT_MASK | RF5_BEAM_MASK | RF5_BALL_MASK | \
-        RF5_DRAIN_MANA | RF5_MIND_BLAST | RF5_BRAIN_SMASH | \
-        RF5_CAUSE_1 | RF5_CAUSE_2 | RF5_CAUSE_3 | RF5_CAUSE_4 | \
-        RF5_SCARE | RF5_BLIND | RF5_CONF | RF5_SLOW | RF5_HOLD)
-
-#define RF6_ATTACK_MASK \
-       (RF6_BOLT_MASK | RF6_BEAM_MASK | RF6_BALL_MASK | \
-        RF6_HAND_DOOM | RF6_TELE_TO | RF6_TELE_AWAY | RF6_TELE_LEVEL | \
-        RF6_DARKNESS | RF6_TRAPS | RF6_FORGET)
-
-/*
- * Hack -- "indirect" spells
- * Including "summon" spells
- */
-#define RF4_INDIRECT_MASK \
-       (RF4_SUMMON_MASK | RF4_SHRIEK)
-
-#define RF5_INDIRECT_MASK \
-       (RF5_SUMMON_MASK)
-
-#define RF6_INDIRECT_MASK \
-       (RF6_SUMMON_MASK | \
-        RF6_HASTE | RF6_HEAL | RF6_INVULNER | RF6_BLINK | RF6_WORLD | \
-        RF6_TPORT | RF6_RAISE_DEAD)
-
-/*
- * Hack -- "non-magic" spells
- * Including "breath" spells
- */
-#define RF4_NOMAGIC_MASK \
-       (RF4_BREATH_MASK | RF4_SHRIEK | RF4_ROCKET | RF4_SHOOT)
-
-#define RF5_NOMAGIC_MASK \
-       (RF5_BREATH_MASK)
-
-#define RF6_NOMAGIC_MASK \
-       (RF6_BREATH_MASK | RF6_SPECIAL)
-
-/*
- * Hack -- "torch" masks
- */
+ /*
+  * Hack -- "torch" masks
+  */
 #define RF7_LITE_MASK \
        (RF7_HAS_LITE_1 | RF7_SELF_LITE_1 | RF7_HAS_LITE_2 | RF7_SELF_LITE_2)
 
 #define RF7_SELF_LD_MASK \
        (RF7_SELF_LITE_1 | RF7_SELF_LITE_2 | RF7_SELF_DARK_1 | RF7_SELF_DARK_2)
 
-/*
- * Hack -- effective elemental and poison immunity mask
- */
+  /*
  * Hack -- effective elemental and poison immunity mask
  */
 #define RFR_EFF_IM_ACID_MASK  (RFR_IM_ACID | RFR_RES_ALL)
 #define RFR_EFF_IM_ELEC_MASK  (RFR_IM_ELEC | RFR_RES_ALL)
 #define RFR_EFF_IM_FIRE_MASK  (RFR_IM_FIRE | RFR_RES_ALL)
         (bool)(((A)->smart & SM_FRIENDLY) ? TRUE : FALSE)
 
 #define is_friendly_idx(IDX) \
-        (bool)((IDX) > 0 && is_friendly(&m_list[(IDX)]))
+        (bool)((IDX) > 0 && is_friendly(&current_floor_ptr->m_list[(IDX)]))
 
 #define is_pet(A) \
         (bool)(((A)->smart & SM_PET) ? TRUE : FALSE)
  * Determines if a map location is fully inside the outer walls
  */
 #define in_bounds(Y,X) \
-   (((Y) > 0) && ((X) > 0) && ((Y) < cur_hgt-1) && ((X) < cur_wid-1))
+   (((Y) > 0) && ((X) > 0) && ((Y) < current_floor_ptr->height-1) && ((X) < current_floor_ptr->width-1))
 
 /*
  * Determines if a map location is on or inside the outer walls
  */
 #define in_bounds2(Y,X) \
-   (((Y) >= 0) && ((X) >= 0) && ((Y) < cur_hgt) && ((X) < cur_wid))
+   (((Y) >= 0) && ((X) >= 0) && ((Y) < current_floor_ptr->height) && ((X) < current_floor_ptr->width))
 
 /*
  * Determines if a map location is on or inside the outer walls
  * (unsigned version)
  */
 #define in_bounds2u(Y,X) \
-   (((Y) < cur_hgt) && ((X) < cur_wid))
+   (((Y) < current_floor_ptr->height) && ((X) < current_floor_ptr->width))
 
 /*
  * Determines if a map location is currently "on screen" -RAK-
  * Grid based version of "player_bold()"
  */
 #define player_grid(C) \
-       ((C) == &cave[p_ptr->y][p_ptr->x])
+       ((C) == &current_floor_ptr->grid_array[p_ptr->y][p_ptr->x])
 
 
 #define cave_have_flag_bold(Y,X,INDEX) \
-       (have_flag(f_info[cave[(Y)][(X)].feat].flags, (INDEX)))
+       (have_flag(f_info[current_floor_ptr->grid_array[(Y)][(X)].feat].flags, (INDEX)))
 
 
 #define cave_have_flag_grid(C,INDEX) \
  * Determine if a "legal" grid supports "los"
  */
 #define cave_los_bold(Y,X) \
-       (feat_supports_los(cave[(Y)][(X)].feat))
+       (feat_supports_los(current_floor_ptr->grid_array[(Y)][(X)].feat))
 
 #define cave_los_grid(C) \
        (feat_supports_los((C)->feat))
  */
 #define cave_clean_bold(Y,X) \
        (cave_have_flag_bold((Y), (X), FF_FLOOR) && \
-        !(cave[Y][X].info & CAVE_OBJECT) && \
-         (cave[Y][X].o_idx == 0))
+        !(current_floor_ptr->grid_array[Y][X].info & CAVE_OBJECT) && \
+         (current_floor_ptr->grid_array[Y][X].o_idx == 0))
 
 
 /*
  */
 #define cave_drop_bold(Y,X) \
        (cave_have_flag_bold((Y), (X), FF_DROP) && \
-        !(cave[Y][X].info & CAVE_OBJECT))
+        !(current_floor_ptr->grid_array[Y][X].info & CAVE_OBJECT))
 
 
 /*
  */
 #define cave_empty_bold(Y,X) \
        (cave_have_flag_bold((Y), (X), FF_PLACE) && \
-        !(cave[Y][X].m_idx) && \
+        !(current_floor_ptr->grid_array[Y][X].m_idx) && \
         !player_bold(Y,X))
 
 
  */
 #define cave_naked_bold(Y,X) \
        (cave_clean_bold(Y,X) && \
-        !(cave[Y][X].m_idx) && \
+        !(current_floor_ptr->grid_array[Y][X].m_idx) && \
         !player_bold(Y,X))
 
 
  * Note the use of comparison to zero to force a "boolean" result
  */
 #define player_has_los_bold(Y,X) \
-    (((cave[Y][X].info & (CAVE_VIEW)) != 0) || p_ptr->inside_battle)
+    (((current_floor_ptr->grid_array[Y][X].info & (CAVE_VIEW)) != 0) || p_ptr->inside_battle)
 
 
 /*
@@ -4661,6 +3659,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 */
@@ -5118,6 +4118,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
 
@@ -5184,40 +4185,6 @@ extern int PlayerUID;
 #define music_singing(X) ((p_ptr->pclass == CLASS_BARD) && (p_ptr->magic_num1[0] == (X)))
 #define music_singing_any() ((p_ptr->pclass == CLASS_BARD) && p_ptr->magic_num1[0])
 
-#define HISSATSU_NONE   0
-#define HISSATSU_2      1
-#define HISSATSU_3WAY   2
-#define HISSATSU_SUTEMI 3
-#define HISSATSU_FIRE   4
-#define HISSATSU_COLD   5
-#define HISSATSU_POISON 6
-#define HISSATSU_ELEC   7
-#define HISSATSU_NYUSIN 8
-#define HISSATSU_FUKI   9
-#define HISSATSU_MAJIN  10
-#define HISSATSU_BOOMER 11
-#define HISSATSU_DRAIN  12
-#define HISSATSU_SEKIRYUKA 13
-#define HISSATSU_OTAKEBI 14
-#define HISSATSU_SHOUGE 15
-#define HISSATSU_CONF   16
-#define HISSATSU_ISSEN  17
-#define HISSATSU_KYUSHO 18
-#define HISSATSU_KONSIN 19
-#define HISSATSU_HYAKU  20
-#define HISSATSU_MINEUCHI 21
-#define HISSATSU_MEKIKI 22
-#define HISSATSU_ZANMA  23
-#define HISSATSU_UNDEAD 24
-#define HISSATSU_HAGAN  25
-#define HISSATSU_QUAKE  26
-#define HISSATSU_COUNTER 27
-#define HISSATSU_HARAI  28
-#define HISSATSU_3DAN   29
-#define HISSATSU_100NIN 30
-
-#define HISSATSU_IAI    100
-
 /*
  *  Special essence id for Weapon smith
  */
@@ -5257,8 +4224,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
@@ -5274,10 +4241,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
@@ -5304,21 +4271,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 */
@@ -5402,33 +4354,18 @@ extern int PlayerUID;
 #define SUB_ALIGN_EVIL    0x0001
 #define SUB_ALIGN_GOOD    0x0002
 
-/* Temporary flags macro */
-#define IS_FAST() (p_ptr->fast || music_singing(MUSIC_SPEED) || music_singing(MUSIC_SHERO))
-#define IS_INVULN() (p_ptr->invuln || music_singing(MUSIC_INVULN))
-#define IS_HERO() (p_ptr->hero || music_singing(MUSIC_HERO) || music_singing(MUSIC_SHERO))
-#define IS_BLESSED() (p_ptr->blessed || music_singing(MUSIC_BLESS) || hex_spelling(HEX_BLESS))
-#define IS_OPPOSE_ACID() (p_ptr->oppose_acid || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#define IS_OPPOSE_ELEC() (p_ptr->oppose_elec || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#define IS_OPPOSE_FIRE() (p_ptr->oppose_fire || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#define IS_OPPOSE_COLD() (p_ptr->oppose_cold || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#define IS_OPPOSE_POIS() (p_ptr->oppose_pois || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
-#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))
+/* Multishadow effects is determined by current_world_ptr->game_turn */
+#define CHECK_MULTISHADOW() (p_ptr->multishadow && (current_world_ptr->game_turn & 1))
 
 /* Is "teleport level" ineffective to this target? */
 #define TELE_LEVEL_IS_INEFF(TARGET) \
        (p_ptr->inside_arena || p_ptr->inside_battle || \
-        (p_ptr->inside_quest && !random_quest_number(dun_level)) || \
-        (((TARGET) <= 0) && (quest_number(dun_level) || (dun_level >= d_info[dungeon_type].maxdepth)) && \
-         (dun_level >= 1) && ironman_downward))
+        (p_ptr->inside_quest && !random_quest_number(current_floor_ptr->dun_level)) || \
+        (((TARGET) <= 0) && (quest_number(current_floor_ptr->dun_level) || (current_floor_ptr->dun_level >= d_info[p_ptr->dungeon_idx].maxdepth)) && \
+         (current_floor_ptr->dun_level >= 1) && ironman_downward))
 
 
 /*