OSDN Git Service

[Refactor] #37353 TERRAIN_* 定義を wild.h へ移動.
[hengband/hengband.git] / src / defines.h
index b3a0c30..84e8a52 100644 (file)
@@ -1,4 +1,6 @@
-/*!
+#pragma once
+
+/*!
  *  @file defines.h
  *  @brief 主要なマクロ定義ヘッダ / Purpose: global constants and macro definitions
  *  @date 2014/01/02
 /*
  * Arena constants
  */
-#define MAX_ARENA_MONS 41 /*<! 闘技場のイベント件数 -KMW- */
 #define ARENA_DEFEATED_OLD_VER (-(MAX_SHORT)) /*<! 旧バージョンの闘技場敗北定義 */
 
-
-#define MAX_BLDG 32 /*!< 施設の種類最大数 / Number of buildings */
-
-
-#define BUILDING_NON_MEMBER 0 /*!< 不明(現在未使用) */
-#define BUILDING_MEMBER     1 /*!< 不明(現在未使用) */
-#define BUILDING_OWNER      2 /*!< 施設の種族/職業条件が一致している状態値 */
-
 #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     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 mutations */
-
-
-#define MAX_MA 17 /*!< 修行僧マーシャルアーツの技数 / Monk martial arts... */
-#define MA_KNEE 1 /*!< 金的効果ID */
-#define MA_SLOW 2 /*!< 膝蹴り効果ID */
-
 #define MAX_MIND_POWERS  21 /*!< 超能力の数 / Mindcraft */
 
-
-#ifdef JP
-#define MAX_SILLY_ATTACK 41 /*!< 幻覚時のジョークメッセージ最大数 */
-#else
-#define MAX_SILLY_ATTACK 29 /*!< Hallucination stuff */
-#endif
-
-#define MIND_MINDCRAFTER    0 /*!< 特殊能力: 超能力 */
-#define MIND_KI             1 /*!< 特殊能力: 練気 */
-#define MIND_BERSERKER      2 /*!< 特殊能力: 怒り */
-#define MIND_MIRROR_MASTER  3 /*!< 特殊能力: 鏡魔法 */
-#define MIND_NINJUTSU       4 /*!< 特殊能力: 忍術 */
-
-
 /*
  * Size of memory reserved for initialization of some arrays
  */
 #define MAX_NLEN        160
 
 /*
- * Special internal key
- */
-#define SPECIAL_KEY_QUEST    255
-#define SPECIAL_KEY_BUILDING 254
-#define SPECIAL_KEY_STORE    253
-#define SPECIAL_KEY_QUIT     252
-
-/*! @brief 消費する行動エネルギー値を正規乱数で返す(中央100/分散25) / Random energy */
-#define ENERGY_NEED() (randnor(100, 25))
-
-/*! @brief 加速値に応じた基本行動エネルギー消費量を返す / Extract energy from speed (Assumes that SPEED is unsigned) */
-#define SPEED_TO_ENERGY(SPEED) (((SPEED) > 199) ? 49 : extract_energy[(SPEED)])
-
-
-/*
  * Misc constants
  */
 #define TOWN_DAWN         10000   /*!< 1日分のターン / Number of ticks from dawn to dawn XXX */
 #define MON_DRAIN_LIFE    2       /*!< モンスターの打撃によるプレイヤーの経験値吸収基本倍率(%) / Percent of player exp drained per hit */
 #define USE_DEVICE        3       /*!< 魔道具の最低失敗基準値 x> Harder devices x< Easier devices     */
 
-/*** Pet constants ***/
-
-
-/*
- * ペットに関するコマンド群 / Pet Commands
- */
-#define PET_DISMISS                            1  /*!< ペットに関するコマンド: ペットを離す */
-#define PET_TARGET                             2  /*!< ペットに関するコマンド: ペットのターゲットを指定 */
-#define PET_STAY_CLOSE                 3  /*!< ペットに関するコマンド: 近くにいろ */
-#define PET_FOLLOW_ME                  4  /*!< ペットに関するコマンド: ついて来い */
-#define PET_SEEK_AND_DESTROY   5  /*!< ペットに関するコマンド: 敵を見つけて倒せ */
-#define PET_ALLOW_SPACE                        6  /*!< ペットに関するコマンド: 少し離れていろ */
-#define PET_STAY_AWAY                  7  /*!< ペットに関するコマンド: 離れていろ */
-#define PET_OPEN_DOORS                 8  /*!< ペットに関するコマンド: ドア解放の許可 */
-#define PET_TAKE_ITEMS                 9  /*!< ペットに関するコマンド: アイテム取得の許可 */
-#define PET_TELEPORT                   10 /*!< ペットに関するコマンド: テレポートの許可 */
-#define PET_ATTACK_SPELL               11 /*!< ペットに関するコマンド: 攻撃魔法の許可 */
-#define PET_SUMMON_SPELL               12 /*!< ペットに関するコマンド: 召喚魔法の許可 */
-#define PET_BALL_SPELL                 13 /*!< ペットに関するコマンド: プレイヤーを魔法に巻き込む許可 */
-#define PET_RIDING                             14 /*!< ペットに関するコマンド: ペットに乗る */
-#define PET_NAME                               15 /*!< ペットに関するコマンド: ペットに名前をつける */
-#define PET_RYOUTE                             16 /*!< ペットに関するコマンド: 騎乗中に両手で武器を使うかどうか */
-
-/*
- * Follow distances
- */
-#define PET_CLOSE_DIST                         1               /*!<ペットの行動範囲…近くにいろ */
-#define PET_FOLLOW_DIST                                6               /*!<ペットの行動範囲…ついて来い */
-#define PET_SEEK_DIST                          10              /*!<ペットの行動範囲…特になし? */
-#define PET_DESTROY_DIST                       255             /*!<ペットの行動範囲…敵を見つけて倒せ */
-#define PET_SPACE_DIST                         (-10)   /*!<ペットの行動範囲…少し離れていろ */
-#define PET_AWAY_DIST                          (-25)   /*!<ペットの行動範囲…離れていろ */
-
-#define PF_OPEN_DOORS   0x0001 /*!< ペットの行動許可…ドアを開けてよい */
-#define PF_PICKUP_ITEMS 0x0002 /*!< ペットの行動許可…アイテムを拾ってよい */
-#define PF_TELEPORT     0x0004 /*!< ペットの行動許可…テレポート魔法を使ってよい */
-#define PF_ATTACK_SPELL 0x0008 /*!< ペットの行動許可…攻撃魔法を使ってよい */
-#define PF_SUMMON_SPELL 0x0010 /*!< ペットの行動許可…召喚魔法を使ってよい */
-#define PF_BALL_SPELL   0x0020 /*!< ペットの行動許可…ボール魔法でプレイヤーを巻き込んでよい */
-#define PF_RYOUTE       0x0040 /*!< プレイヤーの騎乗フラグ…武器を片手で持つ */
-
-
-#define CAN_TWO_HANDS_WIELDING() (!p_ptr->riding || (p_ptr->pet_extra_flags & PF_RYOUTE))
-
-
-/*
- * Player constants
- */
-#define PY_MAX_EXP      99999999L       /*!< プレイヤー経験値の最大値 / Maximum exp */
-#define PY_MAX_GOLD     999999999L      /*!< プレイヤー所持金の最大値 / Maximum gold */
-#define PY_MAX_LEVEL    50              /*!< プレイヤーレベルの最大値 / Maximum level */
-
-/*
- * Player "food" crucial values
- */
-#define PY_FOOD_MAX     15000   /*!< 食べ過ぎ~満腹の閾値 / Food value (Bloated) */
-#define PY_FOOD_FULL    10000   /*!< 満腹~平常の閾値 / Food value (Normal) */
-#define PY_FOOD_ALERT   2000    /*!< 平常~空腹の閾値 / Food value (Hungry) */
-#define PY_FOOD_WEAK    1000    /*!< 空腹~衰弱の閾値 / Food value (Weak) */
-#define PY_FOOD_FAINT   500     /*!< 衰弱~衰弱(赤表示/麻痺)の閾値 / Food value (Fainting) */
-#define PY_FOOD_STARVE  100     /*!< 衰弱(赤表示/麻痺)~飢餓ダメージの閾値 / Food value (Starving) */
-
-/*
- * Player regeneration constants
- */
-#define PY_REGEN_NORMAL         197     /* Regen factor*2^16 when full */
-#define PY_REGEN_WEAK           98      /* Regen factor*2^16 when weak */
-#define PY_REGEN_FAINT          33      /* Regen factor*2^16 when fainting */
-#define PY_REGEN_HPBASE         1442    /* Min amount hp regen*2^16 */
-#define PY_REGEN_MNBASE         524     /* Min amount mana regen*2^16 */
-
-/*
- * 職業ごとの選択可能な魔法領域現在の所 bitrh.cとtables.cでのみ使用。
- * Possible realms that can be chosen currently used only by birth.c and tables.c
- */
-#define CH_NONE         0x00
-#define CH_LIFE         0x01
-#define CH_SORCERY      0x02
-#define CH_NATURE       0x04
-#define CH_CHAOS        0x08
-#define CH_DEATH        0x10
-#define CH_TRUMP        0x20
-#define CH_ARCANE       0x40
-#define CH_ENCHANT      0x80
-#define CH_DAEMON       0x100
-#define CH_CRUSADE      0x200
-
-#define CH_MUSIC        0x08000        /* This is 16th bit */
-#define CH_HISSATSU     0x10000
-#define CH_HEX          0x20000
-
-
-/*
- * Magic realms
- */
-#define REALM_NONE         0
-#define REALM_LIFE         1
-#define REALM_SORCERY      2
-#define REALM_NATURE       3
-#define REALM_CHAOS        4
-#define REALM_DEATH        5
-#define REALM_TRUMP        6
-#define REALM_ARCANE       7
-#define REALM_CRAFT        8
-#define REALM_DAEMON       9
-#define REALM_CRUSADE      10
-#define MAX_MAGIC          10
-#define MIN_TECHNIC        16
-#define REALM_MUSIC        16
-#define REALM_HISSATSU     17
-#define REALM_HEX          18
-#define MAX_REALM          18
-
-#define VALID_REALM        (MAX_REALM + MAX_MAGIC - MIN_TECHNIC + 1)
-#define NUM_TECHNIC        (MAX_REALM - MIN_TECHNIC + 1)
-
-#define is_magic(A) ((((A) > REALM_NONE) && ((A) < MAX_MAGIC + 1)) ? TRUE : FALSE)
-#define tval2realm(A) ((A) - TV_LIFE_BOOK + 1)
-#define technic2magic(A)      (is_magic(A) ? (A) : (A) - MIN_TECHNIC + 1 + MAX_MAGIC)
-#define is_good_realm(REALM)   ((REALM) == REALM_LIFE || (REALM) == REALM_CRUSADE)
-
 /*
  * Magic-books for the realms
  */
 #define REALM1_BOOK     (p_ptr->realm1 + TV_LIFE_BOOK - 1)
 #define REALM2_BOOK     (p_ptr->realm2 + TV_LIFE_BOOK - 1)
 
-
-/*
- * Mode constant for do_spell()
- */
-#define SPELL_NAME   0
-#define SPELL_DESC   1
-#define SPELL_INFO   2
-#define SPELL_CAST   3
-#define SPELL_FAIL   4
-#define SPELL_STOP   5
-#define SPELL_CONT   6
-
-
 /*
  * Maximum number of "normal" pack slots, and the index of the "overflow"
  * slot, which can hold an item, but only temporarily, since it causes the
 #define INVEN_AMMO     23
 
 /*
- * Total number of inventory slots (hard-coded).
+ * Total number of p_ptr->inventory_list slots (hard-coded).
  */
 #define INVEN_TOTAL     36
 
 /*
- * Fake inventory slot for selecting force (hard-coded).
+ * Fake p_ptr->inventory_list slot for selecting force (hard-coded).
  */
 #define INVEN_FORCE     1111
 
-
-/*
- * 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_MAX 6
-
 /*
  * Player sex constants (hard-coded by save-files, arrays, etc)
  */
  */
 #define MAX_FEAT_STATES         8
 
-
-/*
- * Wilderness terrains
- */
-#define TERRAIN_EDGE             0 /* Edge of the World */
-#define TERRAIN_TOWN             1 /* Town */
-#define TERRAIN_DEEP_WATER       2 /* Deep water */
-#define TERRAIN_SHALLOW_WATER    3 /* Shallow water */
-#define TERRAIN_SWAMP            4 /* Swamp */
-#define TERRAIN_DIRT             5 /* Dirt */
-#define TERRAIN_GRASS            6 /* Grass */
-#define TERRAIN_TREES            7 /* Trees */
-#define TERRAIN_DESERT           8 /* Desert */
-#define TERRAIN_SHALLOW_LAVA     9 /* Shallow lava */
-#define TERRAIN_DEEP_LAVA       10 /* Deep lava */
-#define TERRAIN_MOUNTAIN        11 /* Mountain */
-
-#define MAX_WILDERNESS          12 /* Maximum wilderness index */
-
-
 /*
  * Feature flags - should be used instead of feature indexes unless generating.
  * Originally from UnAngband, and modified into TR-like style in Hengband
  * The values for the "tval" field of various objects.
  *
  * This value is the primary means by which items are sorted in the
- * player inventory, followed by "sval" and "cost".
+ * player p_ptr->inventory_list, followed by "sval" and "cost".
  *
  * Note that a "BOW" with tval = 19 and sval S = 10*N+P takes a missile
  * weapon with tval = 16+N, and does (xP) damage when so combined.  This
 #define OBJ_GOLD_LIST   480     /* First "gold" entry */
 #define MAX_GOLD        18      /* Number of "gold" entries */
 
-
 /*** General flag values ***/
 
-
-/*
- * 特殊なマス状態フラグ / Special grid flags
- */
-#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 current_floor_ptr->grid_array generation */
-#define CAVE_FLOOR      0x0200 /*!< フロア属性のあるマス */
-#define CAVE_EXTRA      0x0400
-#define CAVE_INNER      0x0800
-#define CAVE_OUTER      0x1000
-#define CAVE_SOLID      0x2000
-#define CAVE_VAULT      0x4000
-#define CAVE_MASK (CAVE_FLOOR | CAVE_EXTRA | CAVE_INNER | CAVE_OUTER | CAVE_SOLID | CAVE_VAULT)
-
-/* 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()) */
-#define CAVE_OBJECT     0x1000    /* Mirror, glyph, etc. */
-#define CAVE_UNSAFE     0x2000    /* Might have trap */
-#define CAVE_IN_DETECT  0x4000    /* trap detected area (inner circle only) */
-
-
 /*
  * Special caster ID for project()
  */
 #define PW_BORG_1       0x00004000L     /*!<サブウィンドウ描画フラグ: ボーグメッセージ / Display borg messages */
 #define PW_BORG_2       0x00008000L     /*!<サブウィンドウ描画フラグ: ボーグステータス / Display borg status */
 
-
-/*
- * Bit flags for object_desc()
- */
-#define OD_NAME_ONLY        0x00000001  /* Omit values, pval, inscription */
-#define OD_NAME_AND_ENCHANT 0x00000002  /* Omit pval, inscription */
-#define OD_OMIT_INSCRIPTION 0x00000004  /* Omit inscription */
-#define OD_OMIT_PREFIX      0x00000008  /* Omit numeric prefix */
-#define OD_NO_PLURAL        0x00000010  /* Don't use plural */
-#define OD_STORE            0x00000020  /* Assume to be aware and known */
-#define OD_NO_FLAVOR        0x00000040  /* Allow to hidden flavor */
-#define OD_FORCE_FLAVOR     0x00000080  /* Get un-shuffled flavor name */
-
-
-/*
- * p_ptr->special_attackによるプレイヤーの攻撃状態の定義 / Bit flags for the "p_ptr->special_attack" variable. -LM-
- *
- * Note:  The elemental and poison attacks should be managed using the 
- * function "set_ele_attack", in spell2.c.  This provides for timeouts and
- * prevents the player from getting more than one at a time.
- */
-#define ATTACK_CONFUSE 0x00000001 /*!< プレイヤーのステータス:混乱打撃 */
-#define ATTACK_XXX1            0x00000002 /*!< プレイヤーのステータス:未使用1 */
-#define ATTACK_XXX2            0x00000004 /*!< プレイヤーのステータス:未使用2 */
-#define ATTACK_XXX3        0x00000008 /*!< プレイヤーのステータス:未使用3 */
-#define ATTACK_ACID            0x00000010 /*!< プレイヤーのステータス:魔法剣/溶解 */
-#define ATTACK_ELEC            0x00000020 /*!< プレイヤーのステータス:魔法剣/電撃 */
-#define ATTACK_FIRE            0x00000040 /*!< プレイヤーのステータス:魔法剣/火炎 */
-#define ATTACK_COLD            0x00000080 /*!< プレイヤーのステータス:魔法剣/冷凍 */
-#define ATTACK_POIS            0x00000100 /*!< プレイヤーのステータス:魔法剣/毒殺 */
-#define ATTACK_HOLY            0x00000200 /*!< プレイヤーのステータス:対邪?(未使用) */
-#define ATTACK_SUIKEN  0x00000400 /*!< プレイヤーのステータス:酔拳 */
-
-/*
- * p_ptr->special_defenseによるプレイヤーの防御状態の定義 / Bit flags for the "p_ptr->special_defense" variable. -LM-
- */
-#define DEFENSE_ACID   0x00000001 /*!< プレイヤーのステータス:酸免疫 */
-#define DEFENSE_ELEC   0x00000002 /*!< プレイヤーのステータス:電撃免疫 */
-#define DEFENSE_FIRE   0x00000004 /*!< プレイヤーのステータス:火炎免疫 */
-#define DEFENSE_COLD   0x00000008 /*!< プレイヤーのステータス:冷気免疫 */
-#define DEFENSE_POIS   0x00000010 /*!< プレイヤーのステータス:毒免疫 */
-#define KAMAE_GENBU     0x00000020 /*!< プレイヤーのステータス:玄武の構え */
-#define KAMAE_BYAKKO    0x00000040 /*!< プレイヤーのステータス:白虎の構え */
-#define KAMAE_SEIRYU    0x00000080 /*!< プレイヤーのステータス:青竜の構え */
-#define KAMAE_SUZAKU    0x00000100 /*!< プレイヤーのステータス:朱雀の構え */
-#define KATA_IAI        0x00000200 /*!< プレイヤーのステータス:居合 */
-#define KATA_FUUJIN     0x00000400 /*!< プレイヤーのステータス:風塵 */
-#define KATA_KOUKIJIN   0x00000800 /*!< プレイヤーのステータス:降鬼陣 */
-#define KATA_MUSOU      0x00001000 /*!< プレイヤーのステータス:無想 */
-#define NINJA_KAWARIMI  0x00002000 /*!< プレイヤーのステータス:変わり身 */
-#define NINJA_S_STEALTH 0x00004000 /*!< プレイヤーのステータス:超隠密 */
-
-#define MAX_KAMAE 4 /*!< 修行僧の構え最大数 */
-#define KAMAE_MASK (KAMAE_GENBU | KAMAE_BYAKKO | KAMAE_SEIRYU | KAMAE_SUZAKU) /*!< 修行僧の構えビット配列 */
-
-#define MAX_KATA 4 /*!< 修行僧の型最大数 */
-#define KATA_MASK (KATA_IAI | KATA_FUUJIN | KATA_KOUKIJIN | KATA_MUSOU) /*!< 修行僧の型ビット配列 */
-
-
-#define ACTION_NONE     0 /*!< 持続行動: なし */
-#define ACTION_SEARCH   1 /*!< 持続行動: 探索 */
-#define ACTION_REST     2 /*!< 持続行動: 休憩 */
-#define ACTION_LEARN    3 /*!< 持続行動: 青魔法ラーニング */
-#define ACTION_FISH     4 /*!< 持続行動: 釣り */
-#define ACTION_KAMAE    5 /*!< 持続行動: 修行僧の構え */
-#define ACTION_KATA     6 /*!< 持続行動: 剣術家の型 */
-#define ACTION_SING     7 /*!< 持続行動: 歌 */
-#define ACTION_HAYAGAKE 8 /*!< 持続行動: 早駆け */
-#define ACTION_SPELL    9 /*!< 持続行動: 呪術 */
-
-
 /* Empty hand status */
 #define EMPTY_HAND_NONE 0x0000 /* Both hands are used */
 #define EMPTY_HAND_LARM 0x0001 /* Left hand is empty */
 
 
 /*
- * summon_specificで取り扱われる、召喚の種別定義 / Legal restrictions for "summon_specific()"
- */
-#define SUMMON_ANT                  11 /*!< 召喚タイプ: アリ */
-#define SUMMON_SPIDER               12 /*!< 召喚タイプ: 蜘蛛 */
-#define SUMMON_HOUND                13 /*!< 召喚タイプ: ハウンド */
-#define SUMMON_HYDRA                14 /*!< 召喚タイプ: ヒドラ */
-#define SUMMON_ANGEL                15 /*!< 召喚タイプ: 天使 */
-#define SUMMON_DEMON                16 /*!< 召喚タイプ: 悪魔 */
-#define SUMMON_UNDEAD               17 /*!< 召喚タイプ: アンデッド */
-#define SUMMON_DRAGON               18 /*!< 召喚タイプ: ドラゴン */
-#define SUMMON_HI_UNDEAD            21 /*!< 召喚タイプ: 強力なアンデッド */
-#define SUMMON_HI_DRAGON            22 /*!< 召喚タイプ: 古代ドラゴン */
-#define SUMMON_HI_DEMON             23 /*!< 召喚タイプ: 上級デーモン */
-#define SUMMON_AMBERITES            31 /*!< 召喚タイプ: アンバーの王族 */
-#define SUMMON_UNIQUE               32 /*!< 召喚タイプ: ユニーク */
-#define SUMMON_MOLD                 33 /*!< 召喚タイプ: カビ */
-#define SUMMON_BAT                  34 /*!< 召喚タイプ: コウモリ */
-#define SUMMON_QUYLTHULG            35 /*!< 召喚タイプ: クイルスルグ */
-#define SUMMON_XXX1                 36 /*!< 召喚タイプ: 未使用 */
-#define SUMMON_COIN_MIMIC           37 /*!< 召喚タイプ: クリーピング・コイン */
-#define SUMMON_MIMIC                38 /*!< 召喚タイプ: ミミック */
-#define SUMMON_CYBER                39 /*!< 召喚タイプ: サイバーデーモン */
-#define SUMMON_KIN                  40 /*!< 召喚タイプ: 召喚者の同族 */
-#define SUMMON_DAWN                 41 /*!< 召喚タイプ: 暁の戦士 */
-#define SUMMON_ANIMAL               42 /*!< 召喚タイプ: 自然界の動物 */
-#define SUMMON_ANIMAL_RANGER        43 /*!< 召喚タイプ: レンジャー向け自然界の動物 */
-/*#define SUMMON_HI_UNDEAD_NO_UNIQUES 44*/
-/*#define SUMMON_HI_DRAGON_NO_UNIQUES 45*/
-/*#define SUMMON_NO_UNIQUES           46*/
-#define SUMMON_PHANTOM              47 /*!< 召喚タイプ: ゴースト */
-/*#define SUMMON_ELEMENTAL_NO_UNIQUES 48*/
-#define SUMMON_BLUE_HORROR          49 /*!< 召喚タイプ: ブルー・ホラー */
-#define SUMMON_LIVING               50 /*!< 召喚タイプ: 生命のあるモンスター */
-#define SUMMON_HI_DRAGON_LIVING     51 /*!< 召喚タイプ: 生命のある古代ドラゴン */
-#define SUMMON_GOLEM                52 /*!< 召喚タイプ: ゴーレム */
-#define SUMMON_ELEMENTAL            53 /*!< 召喚タイプ: エレメンタル */
-#define SUMMON_VORTEX               54 /*!< 召喚タイプ: ボルテックス */
-#define SUMMON_HYBRID               55 /*!< 召喚タイプ: 混合生物 */
-#define SUMMON_BIRD                 56 /*!< 召喚タイプ: 鳥 */
-/*#define SUMMON_AQUATIC_NO_UNIQUES   57*/
-#define SUMMON_KAMIKAZE             58 /*!< 召喚タイプ: 自爆モンスター */
-#define SUMMON_KAMIKAZE_LIVING      59 /*!< 召喚タイプ: 生命のある自爆モンスター */
-#define SUMMON_MANES                60 /*!< 召喚タイプ: 古代の死霊 */
-#define SUMMON_LOUSE                61 /*!< 召喚タイプ: シラミ */
-#define SUMMON_GUARDIANS            62 /*!< 召喚タイプ: ダンジョンの主 */
-#define SUMMON_KNIGHTS              63 /*!< 召喚タイプ: 聖戦用騎士系モンスター */
-#define SUMMON_EAGLES               64 /*!< 召喚タイプ: 鷲系モンスター */
-#define SUMMON_PIRANHAS             65 /*!< 召喚タイプ: ピラニア・トラップ用 */
-#define SUMMON_ARMAGE_GOOD          66 /*!< 召喚タイプ: ハルマゲドン・トラップ用天使陣営 */
-#define SUMMON_ARMAGE_EVIL          67 /*!< 召喚タイプ: ハルマゲドン・トラップ用悪魔陣営 */
-
-
-/*
- * 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                     /*!< 魔法効果: プラズマ*/
-/* 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_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
  */
 #define DRS_ACID         1
 
 
 /*
- * アイテムの簡易鑑定定義 / Game generated inscription indices. These are stored in the object,
- * and are used to index the string array from tables.c.
- */
-#define FEEL_NONE              0 /*!< 簡易鑑定: 未鑑定 */
-#define FEEL_BROKEN            1 /*!< 簡易鑑定: 壊れている */
-#define FEEL_TERRIBLE          2 /*!< 簡易鑑定: 恐ろしい */
-#define FEEL_WORTHLESS         3 /*!< 簡易鑑定: 無価値 */
-#define FEEL_CURSED            4 /*!< 簡易鑑定: 呪われている */
-#define FEEL_UNCURSED          5 /*!< 簡易鑑定: 呪われていない */
-#define FEEL_AVERAGE           6 /*!< 簡易鑑定: 並 */
-#define FEEL_GOOD              7 /*!< 簡易鑑定: 上質 */
-#define FEEL_EXCELLENT         8 /*!< 簡易鑑定: 高級 */
-#define FEEL_SPECIAL           9 /*!< 簡易鑑定: 特別 */
-
-#define FEEL_MAX               9 /*!< 簡易鑑定の種別数 */
-
-/*
  * 変愚ver1.5.0以前に使われていたアイテムの追加特性フラグ / Hack -- special "xtra" object powers
  */
 #define EGO_XTRA_SUSTAIN        1 /*!< 旧版アイテムフラグ(非推奨): 追加維持能力 / Sustain one stat */
 /*** Object flag values ***/
 
 
-/*!
- * 箱のトラップ定義 Chest trap flags (see "tables.c")
- */
-#define CHEST_LOSE_STR          0x0001 /*!< 箱のトラップ: STR減少の毒針 */
-#define CHEST_LOSE_CON          0x0002 /*!< 箱のトラップ: CON減少の毒針 */
-#define CHEST_POISON            0x0004 /*!< 箱のトラップ: 毒針 */
-#define CHEST_PARALYZE          0x0008 /*!< 箱のトラップ: 麻痺ガス */
-#define CHEST_EXPLODE           0x0010 /*!< 箱のトラップ: 爆発 */
-#define CHEST_SUMMON            0x0020 /*!< 箱のトラップ: 召喚のルーン(モンスター) */
-#define CHEST_SCATTER           0x0040 /*!< 箱のトラップ: アイテム散乱 */
-#define CHEST_E_SUMMON          0x0080 /*!< 箱のトラップ: 召喚のルーン(エレメンタル) */
-#define CHEST_BIRD_STORM        0x0100 /*!< 箱のトラップ: 召喚のルーン(鳥) */
-#define CHEST_H_SUMMON          0x0200 /*!< 箱のトラップ: 召喚のルーン(強敵)  */
-#define CHEST_RUNES_OF_EVIL     0x0400 /*!< 箱のトラップ: 邪悪なルーン */
-#define CHEST_ALARM             0x0800 /*!< 箱のトラップ: 警報装置 */
-
-
 /*
  * Special Object Flags
  */
 
 
 
-/*
- * Bit flags for apply_magic() (etc)
- */
-#define AM_NO_FIXED_ART 0x00000001 /* Don't allow roll for fixed artifacts */
-#define AM_GOOD         0x00000002 /* Generate good items */
-#define AM_GREAT        0x00000004 /* Generate great items */
-#define AM_SPECIAL      0x00000008 /* Generate artifacts (for debug mode only) */
-#define AM_CURSED       0x00000010 /* Generate cursed/worthless items */
-
-
-/*** Monster blow constants ***/
-
-
-/*!
- * @note モンスターの打撃方法 / New monster blow methods
- * 打撃の種別に応じて傷と朦朧が発生するかがコメントの通りに決まる
- */
-#define RBM_HIT          1 /*!< モンスターの攻撃種別:殴る(傷/朦朧が半々) */
-#define RBM_TOUCH        2 /*!< モンスターの攻撃種別:触る */
-#define RBM_PUNCH        3 /*!< モンスターの攻撃種別:パンチする(朦朧) */
-#define RBM_KICK         4 /*!< モンスターの攻撃種別:蹴る(朦朧) */
-#define RBM_CLAW         5 /*!< モンスターの攻撃種別:ひっかく(傷) */
-#define RBM_BITE         6 /*!< モンスターの攻撃種別:噛む(傷) */
-#define RBM_STING        7 /*!< モンスターの攻撃種別:刺す */
-#define RBM_SLASH        8 /*!< モンスターの攻撃種別:斬る(傷) */
-#define RBM_BUTT         9 /*!< モンスターの攻撃種別:角で突く(朦朧) */
-#define RBM_CRUSH       10 /*!< モンスターの攻撃種別:体当たりする(朦朧) */
-#define RBM_ENGULF      11 /*!< モンスターの攻撃種別:飲み込む */
-#define RBM_CHARGE      12 /*!< モンスターの攻撃種別:請求書を寄越す */
-#define RBM_CRAWL       13 /*!< モンスターの攻撃種別:体の上を這い回る */
-#define RBM_DROOL       14 /*!< モンスターの攻撃種別:よだれをたらす */
-#define RBM_SPIT        15 /*!< モンスターの攻撃種別:つばを吐く */
-#define RBM_EXPLODE     16 /*!< モンスターの攻撃種別:爆発する */
-#define RBM_GAZE        17 /*!< モンスターの攻撃種別:にらむ */
-#define RBM_WAIL        18 /*!< モンスターの攻撃種別:泣き叫ぶ */
-#define RBM_SPORE       19 /*!< モンスターの攻撃種別:胞子を飛ばす */
-#define RBM_XXX4        20 /*!< モンスターの攻撃種別:未定義 */
-#define RBM_BEG         21 /*!< モンスターの攻撃種別:金をせがむ */
-#define RBM_INSULT      22 /*!< モンスターの攻撃種別:侮辱する */
-#define RBM_MOAN        23 /*!< モンスターの攻撃種別:うめく */
-#define RBM_SHOW        24 /*!< モンスターの攻撃種別:歌う */
-#define RBM_SHOOT       25 /*!< モンスターの攻撃種別:射撃(非打撃) */
-
-
-/*!
- * @note モンスターの攻撃効果 / New monster blow effects
- */
-#define RBE_HURT         1 /*!< モンスターの攻撃効果: 攻撃する*/
-#define RBE_POISON       2 /*!< モンスターの攻撃効果: 毒をくらわす*/
-#define RBE_UN_BONUS     3 /*!< モンスターの攻撃効果: 劣化させる*/
-#define RBE_UN_POWER     4 /*!< モンスターの攻撃効果: 充填魔力を吸収する*/
-#define RBE_EAT_GOLD     5 /*!< モンスターの攻撃効果: 金を盗む*/
-#define RBE_EAT_ITEM     6 /*!< モンスターの攻撃効果: アイテムを盗む*/
-#define RBE_EAT_FOOD     7 /*!< モンスターの攻撃効果: あなたの食糧を食べる*/
-#define RBE_EAT_LITE     8 /*!< モンスターの攻撃効果: 明かりを吸収する*/
-#define RBE_ACID         9 /*!< モンスターの攻撃効果: 酸を飛ばす*/
-#define RBE_ELEC        10 /*!< モンスターの攻撃効果: 感電させる*/
-#define RBE_FIRE        11 /*!< モンスターの攻撃効果: 燃やす*/
-#define RBE_COLD        12 /*!< モンスターの攻撃効果: 凍らせる*/
-#define RBE_BLIND       13 /*!< モンスターの攻撃効果: 盲目にする*/
-#define RBE_CONFUSE     14 /*!< モンスターの攻撃効果: 混乱させる*/
-#define RBE_TERRIFY     15 /*!< モンスターの攻撃効果: 恐怖させる*/
-#define RBE_PARALYZE    16 /*!< モンスターの攻撃効果: 麻痺させる*/
-#define RBE_LOSE_STR    17 /*!< モンスターの攻撃効果: 腕力を減少させる*/
-#define RBE_LOSE_INT    18 /*!< モンスターの攻撃効果: 知能を減少させる*/
-#define RBE_LOSE_WIS    19 /*!< モンスターの攻撃効果: 賢さを減少させる*/
-#define RBE_LOSE_DEX    20 /*!< モンスターの攻撃効果: 器用さを減少させる*/
-#define RBE_LOSE_CON    21 /*!< モンスターの攻撃効果: 耐久力を減少させる*/
-#define RBE_LOSE_CHR    22 /*!< モンスターの攻撃効果: 魅力を減少させる*/
-#define RBE_LOSE_ALL    23 /*!< モンスターの攻撃効果: 全ステータスを減少させる*/
-#define RBE_SHATTER     24 /*!< モンスターの攻撃効果: 粉砕する*/
-#define RBE_EXP_10      25 /*!< モンスターの攻撃効果: 経験値を減少(10d6+)させる*/
-#define RBE_EXP_20      26 /*!< モンスターの攻撃効果: 経験値を減少(20d6+)させる*/
-#define RBE_EXP_40      27 /*!< モンスターの攻撃効果: 経験値を減少(40d6+)させる*/
-#define RBE_EXP_80      28 /*!< モンスターの攻撃効果: 経験値を減少(80d6+)させる*/
-#define RBE_DISEASE     29 /*!< モンスターの攻撃効果: 病気にする*/
-#define RBE_TIME        30 /*!< モンスターの攻撃効果: 時間を逆戻りさせる*/
-#define RBE_DR_LIFE     31 /*!< モンスターの攻撃効果: 生命力を吸収する*/
-#define RBE_DR_MANA     32 /*!< モンスターの攻撃効果: 魔力を奪う*/
-#define RBE_SUPERHURT   33 /*!< モンスターの攻撃効果: 強力に攻撃する*/
-#define RBE_INERTIA     34 /*!< モンスターの攻撃効果: 減速させる*/
-#define RBE_STUN        35 /*!< モンスターの攻撃効果: 朦朧とさせる*/
-
-
-/*** Monster flag values (hard-coded) ***/
-
-
-
  /*
   * Hack -- "torch" masks
   */
 #define MR1_SINKA 0x01
 
 
-/* Hack -- Determine monster race appearance index is same as race index */
-#define is_original_ap(A) \
-        (bool)(((A)->ap_r_idx == (A)->r_idx) ? TRUE : FALSE)
-
-#define is_original_ap_and_seen(A) \
-        (bool)((A)->ml && !p_ptr->image && ((A)->ap_r_idx == (A)->r_idx))
-
 /*
  * Is the monster seen by the player?
  */
         (player_can_see_bold((A)->fy, (A)->fx) && projectable(p_ptr->y, p_ptr->x, (A)->fy, (A)->fx)))))
 
 
-/*** Option Definitions ***/
-
-
-#define OPT_PAGE_INPUT          1
-#define OPT_PAGE_MAPSCREEN      2
-#define OPT_PAGE_TEXT           3
-#define OPT_PAGE_GAMEPLAY       4
-#define OPT_PAGE_DISTURBANCE    5
-#define OPT_PAGE_BIRTH          6
-#define OPT_PAGE_AUTODESTROY    7
-#define OPT_PAGE_PLAYRECORD    10
-
-#define OPT_PAGE_JAPANESE_ONLY 99
-
-
 /*** Macro Definitions ***/
 
-
-/*
- * Hack -- The main "screen"
- */
-#define term_screen     (angband_term[0])
-
-
-/*
- * Determine if a given inventory item is "aware"
- */
-#define object_is_aware(T) \
-    (k_info[(T)->k_idx].aware)
-
-/*
- * Determine if a given inventory item is "tried"
- */
-#define object_is_tried(T) \
-    (k_info[(T)->k_idx].tried)
-
-
-/*
- * Determine if a given inventory item is "known"
- * Test One -- Check for special "known" tag
- * Test Two -- Check for "Easy Know" + "Aware"
- */
-#define object_is_known(T) \
-    (((T)->ident & (IDENT_KNOWN)) || \
-     (k_info[(T)->k_idx].easy_know && k_info[(T)->k_idx].aware))
-
-
-/*
- * Return the "attr" for a given item.
- * Use "flavor" if available.
- * Default to user definitions.
- */
-#define object_attr(T) \
-       ((k_info[(T)->k_idx].flavor) ? \
-        (k_info[k_info[(T)->k_idx].flavor].x_attr) : \
-        ((!(T)->k_idx || ((T)->tval != TV_CORPSE) || ((T)->sval != SV_CORPSE) || \
-          (k_info[(T)->k_idx].x_attr != TERM_DARK)) ? \
-         (k_info[(T)->k_idx].x_attr) : (r_info[(T)->pval].x_attr)))
-
 /*
  * Return the "char" for a given item.
  * Use "flavor" if available.
         (k_info[k_info[(T)->k_idx].flavor].x_char) : \
         (k_info[(T)->k_idx].x_char))
 
-
-/*
- * Artifacts use the "name1" field
- */
-#define object_is_fixed_artifact(T) \
-       ((T)->name1 ? TRUE : FALSE)
-
-/*
- * Ego-Items use the "name2" field
- */
-#define object_is_ego(T) \
-       ((T)->name2 ? TRUE : FALSE)
-
-
-/*
- * Broken items.
- */
-#define object_is_broken(T) \
-       ((T)->ident & (IDENT_BROKEN))
-
-/*
- * Cursed items.
- */
-#define object_is_cursed(T) \
-       ((T)->curse_flags)
-
-
 /*
  * Convert an "attr"/"char" pair into a "pict" (P)
  */
 
 
 /*
- * Convert a "location" (Y,X) into a "grid" (G)
- */
-#define GRID(Y,X) \
-       (256 * (Y) + (X))
-
-/*
- * Convert a "grid" (G) into a "location" (Y)
- */
-#define GRID_Y(G) \
-       ((int)((G) / 256U))
-
-/*
- * Convert a "grid" (G) into a "location" (X)
- */
-#define GRID_X(G) \
-       ((int)((G) % 256U))
-
-
-/*
- * Determines if a map location is fully inside the outer walls
- */
-#define in_bounds(Y,X) \
-   (((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) < 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) < current_floor_ptr->height) && ((X) < current_floor_ptr->width))
-
-/*
- * Determines if a map location is currently "on screen" -RAK-
- * Note that "panel_contains(Y,X)" always implies "in_bounds2(Y,X)".
- */
-#define panel_contains(Y,X) \
-  (((Y) >= panel_row_min) && ((Y) <= panel_row_max) && \
-   ((X) >= panel_col_min) && ((X) <= panel_col_max))
-
-
-/*
- * Determine if player is on this grid
- */
-#define player_bold(Y,X) \
-       (((Y) == p_ptr->y) && ((X) == p_ptr->x))
-
-
-/*
- * Grid based version of "player_bold()"
- */
-#define player_grid(C) \
-       ((C) == &current_floor_ptr->grid_array[p_ptr->y][p_ptr->x])
-
-
-#define cave_have_flag_bold(Y,X,INDEX) \
-       (have_flag(f_info[current_floor_ptr->grid_array[(Y)][(X)].feat].flags, (INDEX)))
-
-
-#define cave_have_flag_grid(C,INDEX) \
-       (have_flag(f_info[(C)->feat].flags, (INDEX)))
-
-
-/*
- * Determine if a "feature" supports "los"
- */
-#define feat_supports_los(F) \
-       (have_flag(f_info[(F)].flags, FF_LOS))
-
-
-/*
- * Determine if a "legal" grid supports "los"
- */
-#define cave_los_bold(Y,X) \
-       (feat_supports_los(current_floor_ptr->grid_array[(Y)][(X)].feat))
-
-#define cave_los_grid(C) \
-       (feat_supports_los((C)->feat))
-
-
-/*
- * Determine if a "legal" grid is a "clean" floor grid
- * Determine if terrain-change spells are allowed in a grid.
- *
- * Line 1 -- forbid non-floors
- * Line 2 -- forbid object terrains
- * Line 3 -- forbid normal objects
- */
-#define cave_clean_bold(Y,X) \
-       (cave_have_flag_bold((Y), (X), FF_FLOOR) && \
-        !(current_floor_ptr->grid_array[Y][X].info & CAVE_OBJECT) && \
-         (current_floor_ptr->grid_array[Y][X].o_idx == 0))
-
-
-/*
- * Determine if an object can be dropped on a "legal" grid
- *
- * Line 1 -- forbid non-drops
- * Line 2 -- forbid object terrains
- */
-#define cave_drop_bold(Y,X) \
-       (cave_have_flag_bold((Y), (X), FF_DROP) && \
-        !(current_floor_ptr->grid_array[Y][X].info & CAVE_OBJECT))
-
-
-/*
- * Determine if a "legal" grid is an "empty" floor grid
- * Determine if monsters are allowed to move into a grid
- *
- * Line 1 -- forbid non-placement grids
- * Line 2 -- forbid normal monsters
- * Line 3 -- forbid the player
- */
-#define cave_empty_bold(Y,X) \
-       (cave_have_flag_bold((Y), (X), FF_PLACE) && \
-        !(current_floor_ptr->grid_array[Y][X].m_idx) && \
-        !player_bold(Y,X))
-
-
-/*
- * Determine if a "legal" grid is an "empty" floor grid
- * Determine if monster generation is allowed in a grid
- *
- * Line 1 -- forbid non-empty grids
- * Line 2 -- forbid trees while dungeon generation
- */
-#define cave_empty_bold2(Y,X) \
-       (cave_empty_bold(Y,X) && \
-        (character_dungeon || !cave_have_flag_bold((Y), (X), FF_TREE)))
-
-
-/*
- * Determine if a "legal" grid is an "naked" floor grid
- *
- * Line 1 -- forbid non-clean gird
- * Line 2 -- forbid monsters
- * Line 3 -- forbid the player
- */
-#define cave_naked_bold(Y,X) \
-       (cave_clean_bold(Y,X) && \
-        !(current_floor_ptr->grid_array[Y][X].m_idx) && \
-        !player_bold(Y,X))
-
-
-/*
- * Determine if a "legal" grid is "permanent"
- *
- * Line 1 -- permanent flag
- */
-#define cave_perma_bold(Y,X) \
-       (cave_have_flag_bold((Y), (X), FF_PERMANENT))
-
-
-/*
- * Grid based version of "cave_empty_bold()"
- */
-#define cave_empty_grid(C) \
-       (cave_have_flag_grid((C), FF_PLACE) && \
-        !((C)->m_idx) && \
-        !player_grid(C))
-
-
-/*
- * Grid based version of "cave_perma_bold()"
- */
-#define cave_perma_grid(C) \
-       (cave_have_flag_grid((C), FF_PERMANENT))
-
-
-#define pattern_tile(Y,X) \
-       (cave_have_flag_bold((Y), (X), FF_PATTERN))
-
-/*
- * Does the grid stop disintegration?
- */
-#define cave_stop_disintegration(Y,X) \
-       (!cave_have_flag_bold((Y), (X), FF_PROJECT) && \
-        (!cave_have_flag_bold((Y), (X), FF_HURT_DISI) || \
-         cave_have_flag_bold((Y), (X), FF_PERMANENT)))
-
-
-/*
- * Determine if a "legal" grid is within "los" of the player
- *
- * Note the use of comparison to zero to force a "boolean" result
- */
-#define player_has_los_grid(C) \
-    (((C)->info & (CAVE_VIEW)) != 0)
-
-/*
- * Determine if a "legal" grid is within "los" of the player
- *
- * Note the use of comparison to zero to force a "boolean" result
- */
-#define player_has_los_bold(Y,X) \
-    (((current_floor_ptr->grid_array[Y][X].info & (CAVE_VIEW)) != 0) || p_ptr->inside_battle)
-
-
-/*
- * Determine if a "feature" is "permanent wall"
- */
-#define permanent_wall(F) \
-       (have_flag((F)->flags, FF_WALL) && \
-        have_flag((F)->flags, FF_PERMANENT))
-
-/*
- * Get feature mimic from f_info[] (applying "mimic" field)
- */
-#define get_feat_mimic(C) \
-       (f_info[(C)->mimic ? (C)->mimic : (C)->feat].mimic)
-
-/*
  * Hack -- Prepare to use the "Secure" routines
  */
 #if defined(SET_UID) && defined(SECURE)
@@ -3002,161 +2091,11 @@ extern int PlayerUID;
 
 /*** Color constants ***/
 
-
-/*
- * Angband "attributes" (with symbols, and base (R,G,B) codes)
- *
- * The "(R,G,B)" codes are given in "fourths" of the "maximal" value,
- * and should "gamma corrected" on most (non-Macintosh) machines.
- */
-#define TERM_DARK                0  /*!< 'd' - 黒 0,0,0 */
-#define TERM_WHITE               1  /*!< 'w' - 白 4,4,4 */
-#define TERM_SLATE               2  /*!< 's' - 灰 2,2,2 */
-#define TERM_ORANGE              3  /*!< 'o' - 橙 4,2,0 */
-#define TERM_RED                 4  /*!< 'r' - 赤 3,0,0 */
-#define TERM_GREEN               5  /*!< 'g' - 緑 0,2,1 */
-#define TERM_BLUE                6  /*!< 'b' - 青 0,0,4 */
-#define TERM_UMBER               7  /*!< 'u' - 琥珀 2,1,0 */
-#define TERM_L_DARK              8  /*!< 'D' - 暗い灰 1,1,1 */
-#define TERM_L_WHITE             9  /*!< 'W' - 明るい灰 3,3,3 */
-#define TERM_VIOLET             10  /*!< 'v' - 紫 4,0,4 */
-#define TERM_YELLOW             11  /*!< 'y' - 黄 4,4,0 */
-#define TERM_L_RED              12  /*!< 'R' - 明るい赤 4,0,0 */
-#define TERM_L_GREEN            13  /*!< 'G' - 明るい緑 0,4,0 */
-#define TERM_L_BLUE             14  /*!< 'B' - 明るい青 0,4,4 */
-#define TERM_L_UMBER            15  /*!< 'U' - 明るい琥珀 3,2,1 */
-
-
 /*
  * Not using graphical tiles for this feature?
  */
 #define is_ascii_graphics(A) (!((A) & 0x80))
 
-/*** Music constants ***/
-
-#define MUSIC_BASIC_DEFAULT    0
-#define MUSIC_BASIC_GAMEOVER   1
-#define MUSIC_BASIC_EXIT       2
-#define MUSIC_BASIC_TOWN       3
-#define MUSIC_BASIC_FIELD1     4
-#define MUSIC_BASIC_FIELD2     5
-#define MUSIC_BASIC_FIELD3     6
-#define MUSIC_BASIC_DUN_LOW    7
-#define MUSIC_BASIC_DUN_MED    8
-#define MUSIC_BASIC_DUN_HIGH   9
-#define MUSIC_BASIC_DUN_FEEL1 10
-#define MUSIC_BASIC_DUN_FEEL2 11
-#define MUSIC_BASIC_WINNER    12
-#define MUSIC_BASIC_BUILD     13
-#define MUSIC_BASIC_WILD      14
-#define MUSIC_BASIC_QUEST     15
-#define MUSIC_BASIC_ARENA     16
-#define MUSIC_BASIC_BATTLE    17
-#define MUSIC_BASIC_QUEST_CLEAR 18
-#define MUSIC_BASIC_FINAL_QUEST_CLEAR 19
-#define MUSIC_BASIC_AMBUSH    20
-#define MUSIC_BASIC_MAX       21 /*!< BGM定義の最大数 */
-
-/*** Sound constants ***/
-
-/*
- * Mega-Hack -- some primitive sound support (see "main-win.c")
- *
- * Some "sound" constants for "Term_xtra(TERM_XTRA_SOUND, val)"
- */
-#define SOUND_HIT        1
-#define SOUND_MISS       2
-#define SOUND_FLEE       3
-#define SOUND_DROP       4
-#define SOUND_KILL       5
-#define SOUND_LEVEL      6
-#define SOUND_DEATH      7
-#define SOUND_STUDY      8
-#define SOUND_TELEPORT   9
-#define SOUND_SHOOT     10
-#define SOUND_QUAFF     11
-#define SOUND_ZAP       12
-#define SOUND_WALK      13
-#define SOUND_TPOTHER   14
-#define SOUND_HITWALL   15
-#define SOUND_EAT       16
-#define SOUND_STORE1    17
-#define SOUND_STORE2    18
-#define SOUND_STORE3    19
-#define SOUND_STORE4    20
-#define SOUND_DIG       21
-#define SOUND_OPENDOOR  22
-#define SOUND_SHUTDOOR  23
-#define SOUND_TPLEVEL   24
-#define SOUND_SCROLL   25
-#define SOUND_BUY          26
-#define SOUND_SELL         27
-#define SOUND_WARN         28
-#define SOUND_ROCKET    29 /*!< Somebody's shooting rockets */
-#define SOUND_N_KILL    30 /*!< The player kills a non-living/undead monster */
-#define SOUND_U_KILL    31 /*!< The player kills a unique */
-#define SOUND_QUEST     32 /*!< The player has just completed a quest */
-#define SOUND_HEAL      33 /*!< The player was healed a little bit */
-#define SOUND_X_HEAL    34 /*!< The player was healed full health */
-#define SOUND_BITE      35 /*!< A monster bites you */
-#define SOUND_CLAW      36 /*!< A monster claws you */
-#define SOUND_M_SPELL   37 /*!< A monster casts a miscellaneous spell */
-#define SOUND_SUMMON    38 /*!< A monster casts a summoning spell  */
-#define SOUND_BREATH    39 /*!< A monster breathes */
-#define SOUND_BALL      40 /*!< A monster casts a ball / bolt spell */
-#define SOUND_M_HEAL    41 /*!< A monster heals itself somehow */
-#define SOUND_ATK_SPELL 42 /*!< A monster casts a misc. offensive spell */
-#define SOUND_EVIL      43 /*!< Something nasty has just happened! */
-#define SOUND_TOUCH     44 /*!< A monster touches you */
-#define SOUND_STING     45 /*!< A monster stings you */
-#define SOUND_CRUSH     46 /*!< A monster crushes / envelopes you */
-#define SOUND_SLIME     47 /*!< A monster drools/spits/etc on you */
-#define SOUND_WAIL      48 /*!< A monster wails */
-#define SOUND_WINNER    49 /*!< Just won the game! */
-#define SOUND_FIRE      50 /*!< An item was burned  */
-#define SOUND_ACID      51 /*!< An item was destroyed by acid */
-#define SOUND_ELEC      52 /*!< An item was destroyed by electricity */
-#define SOUND_COLD      53 /*!< An item was shattered */
-#define SOUND_ILLEGAL   54 /*!< Illegal command attempted */
-#define SOUND_FAIL      55 /*!< Fail to get a spell off / activate an item */
-#define SOUND_WAKEUP    56 /*!< A monster wakes up */
-#define SOUND_INVULN    57 /*!< Invulnerability! */
-#define SOUND_FALL      58 /*!< Falling through a trapdoor... */
-#define SOUND_PAIN      59 /*!< A monster is in pain! */
-#define SOUND_DESTITEM  60 /*!< An item was destroyed by misc. means */
-#define SOUND_MOAN      61 /*!< A monster makes a moan/beg/insult attack */
-#define SOUND_SHOW      62 /*!< A monster makes a "show" attack */
-#define SOUND_UNUSED    63 /*!< (no sound for gaze attacks) */
-#define SOUND_EXPLODE   64 /*!< Something (or somebody) explodes */
-#define SOUND_GLASS     65 /*!< A glass feature was crashed */
-#define SOUND_REFLECT   66 /*!< A bolt was reflected */
-
-/*
- * Mega-Hack -- maximum known sounds
- */
-#define SOUND_MAX 67 /*!< 効果音定義の最大数 */
-
-#define MAX_VIRTUE 18 /*!< 徳定義の最大数 */
-
-#define V_COMPASSION    1
-#define V_HONOUR           2
-#define V_JUSTICE          3
-#define V_SACRIFICE        4
-#define V_KNOWLEDGE        5
-#define V_FAITH            6
-#define V_ENLIGHTEN        7
-#define V_ENCHANT          8
-#define V_CHANCE           9
-#define V_NATURE          10
-#define V_HARMONY         11
-#define V_VITALITY        12
-#define V_UNLIFE          13
-#define V_PATIENCE        14
-#define V_TEMPERANCE      15
-#define V_DILIGENCE       16
-#define V_VALOUR          17
-#define V_INDIVIDUALISM    18
-
 
 /*** Hack ***/
 
@@ -3176,100 +2115,8 @@ extern int PlayerUID;
 #endif
 
 
-/*
- * Buildings actions
- */
-#define BACT_NOTHING                 0
-#define BACT_RESEARCH_ITEM           1
-#define BACT_TOWN_HISTORY            2
-#define BACT_RACE_LEGENDS            3
-#define BACT_GREET_KING              4
-#define BACT_KING_LEGENDS            5
-#define BACT_QUEST                   6
-#define BACT_XXX_UNUSED              7
-#define BACT_POSTER                  8
-#define BACT_ARENA_RULES             9
-#define BACT_ARENA                  10
-#define BACT_ARENA_LEGENDS          11
-#define BACT_IN_BETWEEN             12
-#define BACT_GAMBLE_RULES           13
-#define BACT_CRAPS                  14
-#define BACT_SPIN_WHEEL             15
-#define BACT_DICE_SLOTS             16
-#define BACT_REST                   17
-#define BACT_FOOD                   18
-#define BACT_RUMORS                 19
-#define BACT_RESEARCH_MONSTER       20
-#define BACT_COMPARE_WEAPONS        21
-#define BACT_LEGENDS                22
-#define BACT_ENCHANT_WEAPON         23
-#define BACT_ENCHANT_ARMOR          24
-#define BACT_RECHARGE               25
-#define BACT_IDENTS                 26
-#define BACT_LEARN                  27
-#define BACT_HEALING                28
-#define BACT_RESTORE                29
-#define BACT_ENCHANT_ARROWS         30
-#define BACT_ENCHANT_BOW            31
-#define BACT_GREET                  32
-#define BACT_RECALL                 33
-#define BACT_TELEPORT_LEVEL         34
-#define BACT_LOSE_MUTATION          35
-#define BACT_BATTLE                 36
-#define BACT_TSUCHINOKO             37
-#define BACT_TARGET                 38
-#define BACT_KUBI                   39
-#define BACT_KANKIN                 40
-#define BACT_HEIKOUKA               41
-#define BACT_TELE_TOWN              42
-#define BACT_POKER                  43
-#define BACT_IDENT_ONE              44
-#define BACT_RECHARGE_ALL           45
-#define BACT_EVAL_AC                   46
-#define BACT_BROKEN_WEAPON          47
-#define MAX_BACT                    48
 
-/*
- * Quest status
- */
-#define QUEST_STATUS_UNTAKEN              0 /*!< クエストステータス状態:未発生*/
-#define QUEST_STATUS_TAKEN                1 /*!< クエストステータス状態:発生中*/
-#define QUEST_STATUS_COMPLETED            2 /*!< クエストステータス状態:達成*/
-#define QUEST_STATUS_REWARDED             3 /*!< クエストステータス状態:報酬受け取り前*/
-#define QUEST_STATUS_FINISHED             4 /*!< クエストステータス状態:完了*/
-#define QUEST_STATUS_FAILED               5 /*!< クエストステータス状態:失敗*/
-#define QUEST_STATUS_FAILED_DONE          6 /*!< クエストステータス状態:失敗完了*/
-#define QUEST_STATUS_STAGE_COMPLETED      7 /*!< クエストステータス状態:ステージ毎達成*/
 
-/*
- * Quest type
- */
-#define QUEST_TYPE_KILL_LEVEL                1 /*!< クエスト目的: 特定のユニークモンスターを倒す */
-#define QUEST_TYPE_KILL_ANY_LEVEL            2 /*!< クエスト目的: イベント受託時点でランダムで選ばれた特定のユニークモンスターを倒す */
-#define QUEST_TYPE_FIND_ARTIFACT             3 /*!< クエスト目的: 特定のアーティファクトを発見する */
-#define QUEST_TYPE_FIND_EXIT                 4 /*!< クエスト目的: 脱出する */
-#define QUEST_TYPE_KILL_NUMBER               5 /*!< クエスト目的: モンスターを無差別に特定数倒す */
-#define QUEST_TYPE_KILL_ALL                  6 /*!< クエスト目的: エリア中のすべてのモンスターを全て倒す */
-#define QUEST_TYPE_RANDOM                    7 /*!< クエスト目的: ランダムクエストとして選ばれたユニーク1体を倒す */
-#define QUEST_TYPE_TOWER                     8 /*!< クエスト目的: 複数のエリアの全てのモンスターを倒す */
-
-/*
- * Initialization flags
- */
-#define INIT_NAME_ONLY          0x01
-#define INIT_SHOW_TEXT          0x02
-#define INIT_ASSIGN             0x04
-#define INIT_CREATE_DUNGEON     0x08
-#define INIT_ONLY_FEATURES      0x10
-#define INIT_ONLY_BUILDINGS     0x20
-
-/*
- * Quest flags
- */
-#define QUEST_FLAG_SILENT  0x01 /*!< クエストフラグ: クエスト進行に関する情報表示を抑止する / no messages from completion */
-#define QUEST_FLAG_PRESET  0x02 /*!< クエストフラグ: クエストがダンジョン外で発生する / quest is outside the main dungeon */
-#define QUEST_FLAG_ONCE    0x04 /*!< クエストフラグ: クエストがフロアを出た時点で完了する / quest is marked finished after leaving */
-#define QUEST_FLAG_TOWER   0x08 /*!< クエストフラグ: クエスト:塔の形式で進行する / Tower quest is special */
 
 /*
  * Available graphic modes
@@ -3300,102 +2147,11 @@ extern int PlayerUID;
  */
 #define TOKENIZE_CHECKQUOTE 0x01  /* Special handling of single quotes */
 
-/*
- * Parse errors
- */
-#define PARSE_ERROR_GENERIC                  1
-#define PARSE_ERROR_ABSOLETE_FILE            2
-#define PARSE_ERROR_MISSING_RECORD_HEADER    3
-#define PARSE_ERROR_NON_SEQUENTIAL_RECORDS   4
-#define PARSE_ERROR_INVALID_FLAG             5
-#define PARSE_ERROR_UNDEFINED_DIRECTIVE      6
-#define PARSE_ERROR_OUT_OF_MEMORY            7
-#define PARSE_ERROR_OUT_OF_BOUNDS            8
-#define PARSE_ERROR_TOO_FEW_ARGUMENTS        9
-#define PARSE_ERROR_UNDEFINED_TERRAIN_TAG   10
-#define PARSE_ERROR_MAX                     11
-
-#define GINOU_SUDE      0
-#define GINOU_NITOURYU  1
-#define GINOU_RIDING    2
-#define GINOU_SHIELD    3
-#define GINOU_TEMPMAX   4
 #define GINOU_MAX      10
 
-/* Proficiency level */
-#define EXP_LEVEL_UNSKILLED 0
-#define EXP_LEVEL_BEGINNER  1
-#define EXP_LEVEL_SKILLED   2
-#define EXP_LEVEL_EXPERT    3
-#define EXP_LEVEL_MASTER    4
-
-/* Proficiency of weapons and misc. skills (except riding) */
-#define WEAPON_EXP_UNSKILLED     0
-#define WEAPON_EXP_BEGINNER   4000
-#define WEAPON_EXP_SKILLED    6000
-#define WEAPON_EXP_EXPERT     7000
-#define WEAPON_EXP_MASTER     8000
-
-/* Proficiency of riding */
-#define RIDING_EXP_UNSKILLED     0
-#define RIDING_EXP_BEGINNER    500
-#define RIDING_EXP_SKILLED    2000
-#define RIDING_EXP_EXPERT     5000
-#define RIDING_EXP_MASTER     8000
-
-/* Proficiency of spells */
-#define SPELL_EXP_UNSKILLED      0
-#define SPELL_EXP_BEGINNER     900
-#define SPELL_EXP_SKILLED     1200
-#define SPELL_EXP_EXPERT      1400
-#define SPELL_EXP_MASTER      1600
-
 #define NO_TOWN 6
 #define SECRET_TOWN 5
 
-#define NIKKI_HIGAWARI     0
-#define NIKKI_BUNSHOU      1
-#define NIKKI_ART          2
-#define NIKKI_UNIQUE       3
-#define NIKKI_FIX_QUEST_C  4
-#define NIKKI_FIX_QUEST_F  5
-#define NIKKI_RAND_QUEST_C 6
-#define NIKKI_RAND_QUEST_F 7
-#define NIKKI_MAXDEAPTH    8
-#define NIKKI_TRUMP        9
-#define NIKKI_STAIR       10
-#define NIKKI_RECALL      11
-#define NIKKI_TO_QUEST    12
-#define NIKKI_TELE_LEV    13
-#define NIKKI_BUY         14
-#define NIKKI_SELL        15
-#define NIKKI_ARENA       16
-#define NIKKI_HANMEI      17
-#define NIKKI_LEVELUP     18
-#define NIKKI_GAMESTART   19
-#define NIKKI_WIZ_TELE    20
-#define NIKKI_NAMED_PET   21
-#define NIKKI_PAT_TELE    22
-#define NIKKI_ART_SCROLL  23
-
-#define NIKKI_WIZARD_LOG  24
-
-
-#define RECORD_NAMED_PET_NAME        0
-#define RECORD_NAMED_PET_UNNAME      1
-#define RECORD_NAMED_PET_DISMISS     2
-#define RECORD_NAMED_PET_DEATH       3
-#define RECORD_NAMED_PET_MOVED       4
-#define RECORD_NAMED_PET_LOST_SIGHT  5
-#define RECORD_NAMED_PET_DESTROY     6
-#define RECORD_NAMED_PET_EARTHQUAKE  7
-#define RECORD_NAMED_PET_GENOCIDE    8
-#define RECORD_NAMED_PET_WIZ_ZAP     9
-#define RECORD_NAMED_PET_TELE_LEVEL  10
-#define RECORD_NAMED_PET_BLAST       11
-#define RECORD_NAMED_PET_HEAL_LEPER  12
-#define RECORD_NAMED_PET_COMPACT     13
-#define RECORD_NAMED_PET_LOSE_PARENT 14
 
 #define MAX_MANE 16
 #define MAX_MONSPELLS 96
@@ -3415,372 +2171,6 @@ extern int PlayerUID;
 #define DETECT_RAD_MAP     30
 #define DETECT_RAD_ALL     255
 
-/* Monster Spells */
-#define MS_SHRIEK         0
-#define MS_XXX1           1
-#define MS_DISPEL         2
-#define MS_ROCKET         3
-#define MS_SHOOT          4
-#define MS_XXX2           5
-#define MS_XXX3           6
-#define MS_XXX4           7
-#define MS_BR_ACID        8
-#define MS_BR_ELEC        9
-#define MS_BR_FIRE        10
-#define MS_BR_COLD        11
-#define MS_BR_POIS        12
-#define MS_BR_NETHER      13
-#define MS_BR_LITE        14
-#define MS_BR_DARK        15
-#define MS_BR_CONF        16
-#define MS_BR_SOUND       17
-#define MS_BR_CHAOS       18
-#define MS_BR_DISEN       19
-#define MS_BR_NEXUS       20
-#define MS_BR_TIME        21
-#define MS_BR_INERTIA     22
-#define MS_BR_GRAVITY     23
-#define MS_BR_SHARDS      24
-#define MS_BR_PLASMA      25
-#define MS_BR_FORCE       26
-#define MS_BR_MANA        27
-#define MS_BALL_NUKE      28
-#define MS_BR_NUKE        29
-#define MS_BALL_CHAOS     30
-#define MS_BR_DISI        31
-#define MS_BALL_ACID      32
-#define MS_BALL_ELEC      33
-#define MS_BALL_FIRE      34
-#define MS_BALL_COLD      35
-#define MS_BALL_POIS      36
-#define MS_BALL_NETHER    37
-#define MS_BALL_WATER     38
-#define MS_BALL_MANA      39
-#define MS_BALL_DARK      40
-#define MS_DRAIN_MANA     41
-#define MS_MIND_BLAST     42
-#define MS_BRAIN_SMASH    43
-#define MS_CAUSE_1        44
-#define MS_CAUSE_2        45
-#define MS_CAUSE_3        46
-#define MS_CAUSE_4        47
-#define MS_BOLT_ACID      48
-#define MS_BOLT_ELEC      49
-#define MS_BOLT_FIRE      50
-#define MS_BOLT_COLD      51
-#define MS_STARBURST      52
-#define MS_BOLT_NETHER    53
-#define MS_BOLT_WATER     54
-#define MS_BOLT_MANA      55
-#define MS_BOLT_PLASMA    56
-#define MS_BOLT_ICE       57
-#define MS_MAGIC_MISSILE  58
-#define MS_SCARE          59
-#define MS_BLIND          60
-#define MS_CONF           61
-#define MS_SLOW           62
-#define MS_SLEEP          63
-#define MS_SPEED          64
-#define MS_HAND_DOOM      65
-#define MS_HEAL           66
-#define MS_INVULNER       67
-#define MS_BLINK          68
-#define MS_TELEPORT       69
-#define MS_WORLD          70
-#define MS_SPECIAL        71
-#define MS_TELE_TO        72
-#define MS_TELE_AWAY      73
-#define MS_TELE_LEVEL     74
-#define MS_PSY_SPEAR      75
-#define MS_DARKNESS       76
-#define MS_MAKE_TRAP      77
-#define MS_FORGET         78
-#define MS_RAISE_DEAD     79
-#define MS_S_KIN          80
-#define MS_S_CYBER        81
-#define MS_S_MONSTER      82
-#define MS_S_MONSTERS     83
-#define MS_S_ANT          84
-#define MS_S_SPIDER       85
-#define MS_S_HOUND        86
-#define MS_S_HYDRA        87
-#define MS_S_ANGEL        88
-#define MS_S_DEMON        89
-#define MS_S_UNDEAD       90
-#define MS_S_DRAGON       91
-#define MS_S_HI_UNDEAD    92
-#define MS_S_HI_DRAGON    93
-#define MS_S_AMBERITE     94
-#define MS_S_UNIQUE       95
-
-
-#define MON_BEGGAR        12
-#define MON_LEPER         13
-#define MON_BLACK_MARKET  14
-#define MON_LION_HEART    19
-#define MON_GHB           39
-#define MON_NOV_PRIEST    45
-#define MON_GRIP          53
-#define MON_WOLF          54
-#define MON_FANG          55
-#define MON_LOUSE         69
-#define MON_PIRANHA       70
-#define MON_COPPER_COINS  85
-#define MON_NOV_PALADIN   97
-#define MON_GREEN_G       100
-#define MON_NOV_PRIEST_G  109
-#define MON_SILVER_COINS  117
-#define MON_D_ELF         122
-#define MON_MANES         128
-#define MON_LOST_SOUL     133
-#define MON_ROBIN_HOOD    138
-#define MON_NOV_PALADIN_G 147
-#define MON_PHANTOM_W     152
-#define MON_WOUNDED_BEAR  159
-#define MON_D_ELF_MAGE    178
-#define MON_D_ELF_WARRIOR 182
-#define MON_BLUE_HORROR   189
-#define MON_GOLD_COINS    195
-#define MON_VORPAL_BUNNY  205
-#define MON_MASTER_YEEK   224
-#define MON_PRIEST        225
-#define MON_D_ELF_PRIEST  226
-#define MON_TIGER         230
-#define MON_MITHRIL_COINS 239
-#define MON_DRUID         241
-#define MON_PINK_HORROR   242
-#define MON_HILL_GIANT    255
-#define MON_WERERAT       270
-#define MON_UMBER_HULK    283
-#define MON_ORC_CAPTAIN   285
-#define MON_BERSERKER     293
-#define MON_IMP           296
-#define MON_SHAGRAT       314
-#define MON_GORBAG        315
-#define MON_STONE_GIANT   321
-#define MON_LIZARD_KING   332
-#define MON_WYVERN        334
-#define MON_SABRE_TIGER   339
-#define MON_D_ELF_LORD    348
-#define MON_FIRE_VOR      354
-#define MON_WATER_VOR     355
-#define MON_ARCH_VILE     357
-#define MON_COLD_VOR      358
-#define MON_ENERGY_VOR    359
-#define MON_IRON_GOLEM    367
-#define MON_JADE_MONK     370
-#define MON_D_ELF_WARLOCK 375
-#define MON_HAGEN         383
-#define MON_MENELDOR      384
-#define MON_PHANTOM_B     385
-#define MON_C_CRAWLER     395
-#define MON_XICLOTLAN     396
-#define MON_D_ELF_DRUID   400
-#define MON_TROLL_PRIEST  403
-#define MON_GWAIHIR       410
-#define MON_ANGEL         417
-#define MON_ADAMANT_COINS 423
-#define MON_COLBRAN       435
-#define MON_SPIRIT_NAGA   436
-#define MON_GACHAPIN      441
-#define MON_BASILISK      453
-#define MON_ARCHANGEL     456
-#define MON_MITHRIL_GOLEM 464
-#define MON_THORONDOR     468
-#define MON_SHADOW_DRAKE  471
-#define MON_GHOST         477
-#define MON_OGRE_SHAMAN   479
-#define MON_GHOUL_KING    483
-#define MON_NINJA         485
-#define MON_BICLOPS       490
-#define MON_IVORY_MONK    492
-#define MON_LOG_MASTER    498
-#define MON_ETHER_DRAKE   504
-#define MON_GOEMON        505
-#define MON_CHERUB        511
-#define MON_WATER_ELEM    512
-#define MON_JURT          517
-#define MON_LICH          518
-#define MON_BLOODLETTER   523
-#define MON_HALFLING_S    539
-#define MON_GRAV_HOUND    540
-#define MON_REVENANT      555
-#define MON_RAAL          557
-#define MON_COLOSSUS      558
-#define MON_NIGHTBLADE    564
-#define MON_ELDER_THING   569
-#define MON_CRYPT_THING   577
-#define MON_NEXUS_VOR     587
-#define MON_PLASMA_VOR    588
-#define MON_TIME_VOR      589
-#define MON_M_MH_DRAGON   593
-#define MON_MANDOR        598
-#define MON_SHIM_VOR      600
-#define MON_SERAPH        605
-#define MON_BARON_HELL    609
-#define MON_KAVLAX        616
-#define MON_ETTIN         621
-#define MON_VAMPIRE_LORD  623
-#define MON_JUBJUB        640
-#define MON_G_C_DRAKE     646
-#define MON_CLUB_DEMON    648
-#define MON_F_ANGEL       652
-#define MON_D_ELF_SORC    657
-#define MON_MASTER_LICH   658
-#define MON_RINALDO       660
-#define MON_ARCHON        661
-#define MON_UND_BEHOLDER  664
-#define MON_IRON_LICH     666
-#define MON_JACK_SHADOWS  670
-#define MON_LLOIGOR       682
-#define MON_DREADMASTER   690
-#define MON_DROLEM        691
-#define MON_DAWN          693
-#define MON_NAZGUL        696
-#define MON_SMAUG         697
-#define MON_STORMBRINGER  698
-#define MON_ULTRA_PALADIN 699
-#define MON_G_TITAN       702
-#define MON_S_TYRANNO     705
-#define MON_FAFNER        712
-#define MON_G_BALROG      720
-#define MON_TIME_HOUND    725
-#define MON_PLASMA_HOUND  726
-#define MON_BULLGATES     732
-#define MON_SANTACLAUS    733
-#define MON_LORD_CHAOS    737
-#define MON_TINDALOS      739
-#define MON_DEMILICH      742
-#define MON_NIGHTCRAWLER  744
-#define MON_CHAOS_VOR     751
-#define MON_AETHER_VOR    752
-#define MON_FUNDIN        762
-#define MON_DWORKIN       763
-#define MON_NIGHTWALKER   768
-#define MON_RAPHAEL       769
-#define MON_SARUMAN       771
-#define MON_GANDALF       772
-#define MON_BRAND         773
-#define MON_SHADOWLORD    774
-#define MON_ARCHLICH      776
-#define MON_JABBERWOCK    778
-#define MON_CHAOS_HOUND   779
-#define MON_ULT_BEHOLDER  781
-#define MON_SHAMBLER      786
-#define MON_BLEYS         789
-#define MON_FIONA         791
-#define MON_SKY_DRAKE     793
-#define MON_JULIAN        794
-#define MON_BLACK_REAVER  798
-#define MON_CAINE         799
-#define MON_GERARD        807
-#define MON_UNGOLIANT     808
-#define MON_ATLACH_NACHA  809
-#define MON_Y_GOLONAC     810
-#define MON_AETHER_HOUND  811
-#define MON_WARP_DEMON    812
-#define MON_ERIC          813
-#define MON_UNMAKER       815
-#define MON_CYBER         816
-#define MON_KLING         819
-#define MON_CORWIN        820
-#define MON_ANGMAR        825
-#define MON_CANTORAS      830
-#define MON_GODZILLA      832
-#define MON_SPAWN_CTH     836
-#define MON_SURTUR        837
-#define MON_TARRASQUE     838
-#define MON_LUNGORTHIN    839
-#define MON_CYBER_KING    843
-#define MON_WYRM_POWER    847
-#define MON_NODENS        849
-#define MON_JORMUNGAND    854
-#define MON_DESTROYER     855
-#define MON_GOTHMOG       856
-#define MON_G_CTHULHU     857
-#define MON_SAURON        858
-#define MON_UNICORN_ORD   859
-#define MON_OBERON        860
-#define MON_MORGOTH       861
-#define MON_SERPENT       862
-#define MON_ONE_RING      864
-#define MON_CAAWS         866
-#define MON_CULVERIN      867
-#define MON_EBONY_MONK    870
-#define MON_HAGURE        871
-#define MON_OROCHI        872
-#define MON_ECHIZEN       873
-#define MON_SPECT_WYRM    874
-#define MON_DIO           878
-#define MON_OHMU          879
-#define MON_WONG          880
-#define MON_ZOMBI_SERPENT 883
-#define MON_D_ELF_SHADE   886
-#define MON_MANA_HOUND    887
-#define MON_VENOM_WYRM    890
-#define MON_TROLL_KING    894
-#define MON_BAZOOKER      896
-#define MON_SHARD_VOR     897
-#define MON_ELF_LORD      900
-#define MON_MASTER_MYS    916
-#define MON_G_MASTER_MYS  917
-#define MON_IE            921
-#define MON_TSUCHINOKO    926
-#define MON_GCWADL        929
-#define MON_LOCKE_CLONE   930
-#define MON_CALDARM       931
-#define MON_BANORLUPART   932
-#define MON_BANOR         933
-#define MON_LUPART        934
-#define MON_KENSHIROU     936
-#define MON_W_KNIGHT      938
-#define MON_PLANETAR      942
-#define MON_SOLAR         943
-#define MON_BIKETAL       945
-#define MON_RICH          948
-#define MON_IKETA         949
-#define MON_B_DEATH_SWORD 953
-#define MON_YASE_HORSE    955
-#define MON_HORSE         956
-#define MON_BOTEI         963
-#define MON_KAGE          964
-#define MON_JAIAN         967
-#define MON_BELD          973
-#define MON_THAT_BAT      975
-#define MON_SHUTEN        979
-#define MON_FENGHUANG     988
-#define MON_KIRIN         989
-#define MON_BAHAMUT       1000
-#define MON_SUKE          1001
-#define MON_KAKU          1002
-#define MON_GHOST_Q       1003
-#define MON_PIP           1004
-#define MON_A_GOLD        1010
-#define MON_A_SILVER      1011
-#define MON_ROLENTO       1013
-#define MON_RAOU          1018
-#define MON_SHURYUUDAN    1023
-#define MON_WAHHA         1031
-#define MON_DEBBY         1032
-#define MON_KNI_TEMPLAR   1037
-#define MON_PALADIN       1038
-#define MON_CHAMELEON     1040
-#define MON_CHAMELEON_K   1041
-#define MON_TOPAZ_MONK    1047
-#define MON_M_MINDCRAFTER 1056
-#define MON_ELDER_VAMPIRE 1058
-#define MON_NOBORTA       1059
-#define MON_MORI_TROLL    1060
-#define MON_BARNEY        1061
-#define MON_GROO          1062
-#define MON_LOUSY         1063
-#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
-
 /* Maximum "Nazguls" number */
 #define MAX_NAZGUL_NUM 5
 
@@ -3807,128 +2197,10 @@ extern int PlayerUID;
 #define KNOW_STAT   0x01
 #define KNOW_HPRATE 0x02
 
-/*
- * Music songs
- */
-#define MUSIC_NONE              0
-#define MUSIC_SLOW              1
-#define MUSIC_BLESS             2
-#define MUSIC_STUN              3
-#define MUSIC_L_LIFE            4
-#define MUSIC_FEAR              5
-#define MUSIC_HERO              6
-#define MUSIC_MIND              7
-#define MUSIC_STEALTH           8
-#define MUSIC_ID                9
-#define MUSIC_CONF              10
-#define MUSIC_SOUND             11
-#define MUSIC_CHARM             12
-#define MUSIC_WALL              13
-#define MUSIC_RESIST            14
-#define MUSIC_SPEED             15
-#define MUSIC_DISPEL            16
-#define MUSIC_SARUMAN           17
-#define MUSIC_QUAKE             18
-#define MUSIC_STASIS            19
-#define MUSIC_SHERO             20
-#define MUSIC_H_LIFE            21
-#define MUSIC_INVULN            22
-#define MUSIC_PSI               23
-
-#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])
-
-/*
- *  Special essence id for Weapon smith
- */
-#define MIN_SPECIAL_ESSENCE 200
-
-#define ESSENCE_ATTACK        (MIN_SPECIAL_ESSENCE + 0)
-#define ESSENCE_AC            (MIN_SPECIAL_ESSENCE + 1)
-#define ESSENCE_TMP_RES_ACID  (MIN_SPECIAL_ESSENCE + 2)
-#define ESSENCE_TMP_RES_ELEC  (MIN_SPECIAL_ESSENCE + 3)
-#define ESSENCE_TMP_RES_FIRE  (MIN_SPECIAL_ESSENCE + 4)
-#define ESSENCE_TMP_RES_COLD  (MIN_SPECIAL_ESSENCE + 5)
-#define ESSENCE_SH_FIRE       (MIN_SPECIAL_ESSENCE + 6)
-#define ESSENCE_SH_ELEC       (MIN_SPECIAL_ESSENCE + 7)
-#define ESSENCE_SH_COLD       (MIN_SPECIAL_ESSENCE + 8)
-#define ESSENCE_RESISTANCE    (MIN_SPECIAL_ESSENCE + 9)
-#define ESSENCE_SUSTAIN       (MIN_SPECIAL_ESSENCE + 10)
-#define ESSENCE_SLAY_GLOVE    (MIN_SPECIAL_ESSENCE + 11)
-
-
-#define DUNGEON_MODE_NONE       0
-#define DUNGEON_MODE_AND        1
-#define DUNGEON_MODE_NAND       2
-#define DUNGEON_MODE_OR         3
-#define DUNGEON_MODE_NOR        4
-
-/*** Dungeon type flags -- DG ***/
-#define DF1_WINNER              0x00000001L
-#define DF1_MAZE                0x00000002L
-#define DF1_SMALLEST            0x00000004L
-#define DF1_BEGINNER            0x00000008L
-#define DF1_BIG                 0x00000010L
-#define DF1_NO_DOORS            0x00000020L
-#define DF1_WATER_RIVER         0x00000040L
-#define DF1_LAVA_RIVER          0x00000080L
-#define DF1_CURTAIN             0x00000100L
-#define DF1_GLASS_DOOR          0x00000200L
-#define DF1_CAVE                0x00000400L
-#define DF1_CAVERN              0x00000800L
-#define DF1_ARCADE              0x00001000L
-#define DF1_LAKE_ACID           0x00002000L
-#define DF1_LAKE_POISONOUS      0x00004000L
-#define DF1_XXX15               0x00008000L
-#define DF1_FORGET              0x00010000L
-#define DF1_LAKE_WATER          0x00020000L
-#define DF1_LAKE_LAVA           0x00040000L
-#define DF1_LAKE_RUBBLE         0x00080000L
-#define DF1_LAKE_TREE           0x00100000L
-#define DF1_NO_VAULT            0x00200000L
-#define DF1_ARENA               0x00400000L
-#define DF1_DESTROY             0x00800000L
-#define DF1_GLASS_ROOM          0x01000000L
-#define DF1_NO_CAVE             0x02000000L
-#define DF1_NO_MAGIC            0x04000000L
-#define DF1_NO_MELEE            0x08000000L
-#define DF1_CHAMELEON           0x10000000L
-#define DF1_DARKNESS            0x20000000L
-#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 | DF1_LAKE_POISONOUS | DF1_LAKE_ACID)
-
-#define DUNGEON_ANGBAND  1
-#define DUNGEON_GALGALS  2
-#define DUNGEON_ORC      3
-#define DUNGEON_MAZE     4
-#define DUNGEON_DRAGON   5
-#define DUNGEON_GRAVE    6
-#define DUNGEON_WOOD     7
-#define DUNGEON_VOLCANO  8
-#define DUNGEON_HELL     9
-#define DUNGEON_HEAVEN   10
-#define DUNGEON_OCEAN    11
-#define DUNGEON_CASTLE   12
-#define DUNGEON_CTH      13
-#define DUNGEON_MOUNTAIN 14
-#define DUNGEON_GOLD     15
-#define DUNGEON_NO_MAGIC 16
-#define DUNGEON_NO_MELEE 17
-#define DUNGEON_CHAMELEON 18
-#define DUNGEON_DARKNESS 19
 
 
 #define DUNGEON_FEAT_PROB_NUM 3
 
-
 /*
  * Flags for save/load temporal saved floor file
  */
@@ -4054,19 +2326,6 @@ extern int PlayerUID;
 #define SKEY_TOP         0xf007
 #define SKEY_BOTTOM      0xf008
 
-/*
- * Bit flags for move_player_effect()
- */
-#define MPE_STAYING       0x00000001
-#define MPE_FORGET_FLOW   0x00000002
-#define MPE_HANDLE_STUFF  0x00000004
-#define MPE_ENERGY_USE    0x00000008
-#define MPE_DONT_PICKUP   0x00000010
-#define MPE_DO_PICKUP     0x00000020
-#define MPE_BREAK_TRAP    0x00000040
-#define MPE_DONT_SWAP_MON 0x00000080
-
-
 #define MTIMED_CSLEEP   0 /* Monster is sleeping */
 #define MTIMED_FAST     1 /* Monster is temporarily fast */
 #define MTIMED_SLOW     2 /* Monster is temporarily slow */
@@ -4128,43 +2387,6 @@ extern int PlayerUID;
 #define HEX_REVENGE_TURN(P_PTR) ((P_PTR)->magic_num2[2])
 #define HEX_REVENGE_TYPE(P_PTR) ((P_PTR)->magic_num2[1])
 
-/* 1st book */
-#define HEX_BLESS             0
-#define HEX_CURE_LIGHT        1
-#define HEX_DEMON_AURA        2
-#define HEX_STINKING_MIST     3
-#define HEX_XTRA_MIGHT        4
-#define HEX_CURSE_WEAPON      5
-#define HEX_DETECT_EVIL       6
-#define HEX_PATIENCE          7
-/* 2nd book */
-#define HEX_ICE_ARMOR         8
-#define HEX_CURE_SERIOUS      9
-#define HEX_INHAIL           10
-#define HEX_VAMP_MIST        11
-#define HEX_RUNESWORD        12
-#define HEX_CONFUSION        13
-#define HEX_BUILDING         14
-#define HEX_ANTI_TELE        15
-/* 3rd book */
-#define HEX_SHOCK_CLOAK      16
-#define HEX_CURE_CRITICAL    17
-#define HEX_RECHARGE         18
-#define HEX_RAISE_DEAD       19
-#define HEX_CURSE_ARMOUR     20
-#define HEX_SHADOW_CLOAK     21
-#define HEX_PAIN_TO_MANA     22
-#define HEX_EYE_FOR_EYE      23
-/* 4th book */
-#define HEX_ANTI_MULTI       24
-#define HEX_RESTORE          25
-#define HEX_DRAIN_CURSE      26
-#define HEX_VAMP_BLADE       27
-#define HEX_STUN_MONSTERS    28
-#define HEX_SHADOW_MOVE      29
-#define HEX_ANTI_MAGIC       30
-#define HEX_REVENGE          31
-
 /*
   Language selection macro
 */