OSDN Git Service

[Refactor] #37353 OPT_PAGE_* の重複定義を削除.
[hengband/hengband.git] / src / defines.h
index 6a1872c..b7dbfc3 100644 (file)
@@ -1,4 +1,6 @@
-/*!
+#pragma once
+
+/*!
  *  @file defines.h
  *  @brief 主要なマクロ定義ヘッダ / Purpose: global constants and macro definitions
  *  @date 2014/01/02
 #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 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))
 #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
 
  * 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 */
-
-
 /* 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
 
 
 
-/*
- * 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) ***/
-
-
-/*
- * New monster race bit flags
- */
-#define RF1_UNIQUE              0x00000001  /*!< モンスター特性: ユニーク / Unique Monster */
-#define RF1_QUESTOR             0x00000002  /*!< モンスター特性: クエストモンスター / Quest Monster */
-#define RF1_MALE                0x00000004  /*!< モンスター特性: 男性 / Male gender */
-#define RF1_FEMALE              0x00000008  /*!< モンスター特性: 女性 / Female gender */
-#define RF1_CHAR_CLEAR          0x00000010  /*!< モンスター特性: シンボルが完全に透明 / Absorbs symbol */
-#define RF1_SHAPECHANGER        0x00000020  /*!< モンスター特性: シンボルアルファベットがランダムになる / TY: shapechanger */
-#define RF1_ATTR_CLEAR          0x00000040  /*!< モンスター特性: シンボルカラーが透明色になる(地形と同じ色になる) / Absorbs color */
-#define RF1_ATTR_MULTI          0x00000080  /*!< モンスター特性: シンボルカラーがランダムに変化する(基本7色) / Changes color */
-#define RF1_FORCE_DEPTH         0x00000100  /*!< モンスター特性: 指定階未満では生成されない / Start at "correct" depth */
-#define RF1_FORCE_MAXHP         0x00000200  /*!< モンスター特性: 通常生成時必ずHPがダイス最大値になる / Start with max hitpoints */
-#define RF1_FORCE_SLEEP         0x00000400  /*!< モンスター特性: 通常生成時必ず寝ている / Start out sleeping */
-#define RF1_FORCE_EXTRA         0x00000800  /*!< モンスター特性: (未使用) / Start out something */
-#define RF1_ATTR_SEMIRAND       0x00001000  /*!< モンスター特性: シンボルカラーがランダムに変化する(15色) / Color is determined semi-randomly */
-#define RF1_FRIENDS             0x00002000  /*!< モンスター特性: 同種の友軍を用意している / Arrive with some friends */
-#define RF1_ESCORT              0x00004000  /*!< モンスター特性: 護衛を用意している/ Arrive with an escort */
-#define RF1_ESCORTS             0x00008000  /*!< モンスター特性: さらに大量の護衛を用意している / Arrive with some escorts */
-#define RF1_NEVER_BLOW          0x00010000  /*!< モンスター特性: 打撃を一切行わない / Never make physical blow */
-#define RF1_NEVER_MOVE          0x00020000  /*!< モンスター特性: 移動を一切行わない / Never make physical move */
-#define RF1_RAND_25             0x00040000  /*!< モンスター特性: ランダムに移動する確率+25%/ Moves randomly (25%) */
-#define RF1_RAND_50             0x00080000  /*!< モンスター特性: ランダムに移動する確率+50%/ Moves randomly (50%) */
-#define RF1_ONLY_GOLD           0x00100000  /*!< モンスター特性: 財宝しか落とさない / Drop only gold */
-#define RF1_ONLY_ITEM           0x00200000  /*!< モンスター特性: アイテムしか落とさない / Drop only items */
-#define RF1_DROP_60             0x00400000  /*!< モンスター特性: 落とすアイテム数60%で+1/ Drop an item/gold (60%) */
-#define RF1_DROP_90             0x00800000  /*!< モンスター特性: 落とすアイテム数90%で+1 / Drop an item/gold (90%) */
-#define RF1_DROP_1D2            0x01000000  /*!< モンスター特性: 落とすアイテム数+1d2 / Drop 1d2 items/gold */
-#define RF1_DROP_2D2            0x02000000  /*!< モンスター特性: 落とすアイテム数+2d2 / Drop 2d2 items/gold */
-#define RF1_DROP_3D2            0x04000000  /*!< モンスター特性: 落とすアイテム数+3d2 / Drop 3d2 items/gold */
-#define RF1_DROP_4D2            0x08000000  /*!< モンスター特性: 落とすアイテム数+4d2 / Drop 4d2 items/gold */
-#define RF1_DROP_GOOD           0x10000000  /*!< モンスター特性: 必ず上質品をドロップする / Drop good items */
-#define RF1_DROP_GREAT          0x20000000  /*!< モンスター特性: 必ず高級品をドロップする / Drop great items */
-#define RF1_XXX2                0x40000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF1_XXX3                0x80000000  /*!< モンスター特性: 未使用 / XXX */
-
-/*
- * New monster race bit flags
- */
-#define RF2_STUPID          0x00000001  /*!< モンスター特性: 愚かな行動を取る / Monster is stupid */
-#define RF2_SMART           0x00000002  /*!< モンスター特性: 賢い行動を取る / Monster is smart */
-#define RF2_CAN_SPEAK       0x00000004  /*!< モンスター特性: 台詞をしゃべる / TY: can speak */
-#define RF2_REFLECTING      0x00000008  /*!< モンスター特性: 矢やボルト魔法を反射する / Reflects bolts */
-#define RF2_INVISIBLE       0x00000010  /*!< モンスター特性: 透明視力がないと見えない / Monster avoids vision */
-#define RF2_COLD_BLOOD      0x00000020  /*!< モンスター特性: 冷血動物である / Monster avoids infra */
-#define RF2_EMPTY_MIND      0x00000040  /*!< モンスター特性: 知性を持たない(テレパシー回避) / Monster avoids telepathy */
-#define RF2_WEIRD_MIND      0x00000080  /*!< モンスター特性: 異質な知性(テレパシーで感知づらい) / Monster avoids telepathy? */
-#define RF2_MULTIPLY        0x00000100  /*!< モンスター特性: 増殖する / Monster reproduces */
-#define RF2_REGENERATE      0x00000200  /*!< モンスター特性: 急激に回復する / Monster regenerates */
-#define RF2_CHAR_MULTI      0x00000400  /*!< モンスター特性: 未使用 / (Not implemented) */
-#define RF2_ATTR_ANY        0x00000800  /*!< モンスター特性: ATTR_MULTIの色数が増える / TY: Attr_any */
-#define RF2_POWERFUL        0x00001000  /*!< モンスター特性: 強力に魔法をあやつる / Monster has strong breath */
-#define RF2_ELDRITCH_HORROR 0x00002000  /*!< モンスター特性: 狂気を呼び起こす / Sanity-blasting horror    */
-#define RF2_AURA_FIRE       0x00004000  /*!< モンスター特性: 火炎のオーラを持つ / Burns in melee */
-#define RF2_AURA_ELEC       0x00008000  /*!< モンスター特性: 電撃のオーラを持つ / Shocks in melee */
-#define RF2_OPEN_DOOR       0x00010000  /*!< モンスター特性: ドアを開けることができる / Monster can open doors */
-#define RF2_BASH_DOOR       0x00020000  /*!< モンスター特性: ドアを破壊することができる / Monster can bash doors */
-#define RF2_PASS_WALL       0x00040000  /*!< モンスター特性: 壁を抜けることができる / Monster can pass walls */
-#define RF2_KILL_WALL       0x00080000  /*!< モンスター特性: 壁を破壊して進む / Monster can destroy walls */
-#define RF2_MOVE_BODY       0x00100000  /*!< モンスター特性: 道中の弱いモンスターを押しのけることができる / Monster can move monsters */
-#define RF2_KILL_BODY       0x00200000  /*!< モンスター特性: 道中の弱いモンスターを殺して進む / Monster can kill monsters */
-#define RF2_TAKE_ITEM       0x00400000  /*!< モンスター特性: 道中のアイテムを拾う / Monster can pick up items */
-#define RF2_KILL_ITEM       0x00800000  /*!< モンスター特性: 道中のアイテムを破壊する / Monster can crush items */
-#define RF2_XXX1            0x01000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF2_XXX2            0x02000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF2_XXX3            0x04000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF2_XXX4            0x08000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF2_XXX5            0x10000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF2_XXX6            0x20000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF2_HUMAN           0x40000000  /*!< モンスター特性: 人間 / Human */
-#define RF2_QUANTUM         0x80000000  /*!< モンスター特性: 量子的な振る舞いをする / Monster has quantum behavior */
-
-/*
- * New monster race bit flags
- */
-#define RF3_ORC             0x00000001  /*!< モンスター特性: オーク / Orc */
-#define RF3_TROLL           0x00000002  /*!< モンスター特性: トロル / Troll */
-#define RF3_GIANT           0x00000004  /*!< モンスター特性: 巨人 / Giant */
-#define RF3_DRAGON          0x00000008  /*!< モンスター特性: ドラゴン / Dragon */
-#define RF3_DEMON           0x00000010  /*!< モンスター特性: 悪魔 / Demon */
-#define RF3_UNDEAD          0x00000020  /*!< モンスター特性: アンデッド / Undead */
-#define RF3_EVIL            0x00000040  /*!< モンスター特性: 邪悪 / Evil */
-#define RF3_ANIMAL          0x00000080  /*!< モンスター特性: 動物 / Animal */
-#define RF3_AMBERITE        0x00000100  /*!< モンスター特性: アンバーの血族 / TY: Amberite */
-#define RF3_GOOD            0x00000200  /*!< モンスター特性: 善良 / Good */
-#define RF3_AURA_COLD       0x00000400  /*!< モンスター特性: 冷気オーラ / Freezes in melee */
-#define RF3_NONLIVING       0x00000800  /*!< モンスター特性: 無生物 / TY: Non-Living (?) */
-#define RF3_HURT_LITE       0x00001000  /*!< モンスター特性: 通常の光(GF_WEAK_LITE)でダメージを受ける / Hurt by lite */
-#define RF3_HURT_ROCK       0x00002000  /*!< モンスター特性: 岩石溶解(GF_KILL_WALL)でダメージを受ける / Hurt by rock remover */
-#define RF3_HURT_FIRE       0x00004000  /*!< モンスター特性: 火炎が弱点 / Hurt badly by fire */
-#define RF3_HURT_COLD       0x00008000  /*!< モンスター特性: 冷気が弱点 / Hurt badly by cold */
-#define RF3_ANGEL           0x00010000  /*!< モンスター特性: 天使 / ANGEL */
-#define RF3_XXX17           0x00020000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX18           0x00040000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX19           0x00080000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX20           0x00100000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX21           0x00200000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX22           0x00400000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX23           0x00800000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX24           0x01000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX25           0x02000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX26           0x04000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_XXX27           0x08000000  /*!< モンスター特性: 未使用 / XXX */
-#define RF3_NO_FEAR         0x10000000  /*!< モンスター特性: 恐怖しない / Cannot be scared */
-#define RF3_NO_STUN         0x20000000  /*!< モンスター特性: 朦朧としない / Cannot be stunned */
-#define RF3_NO_CONF         0x40000000  /*!< モンスター特性: 混乱しない / Cannot be confused and resist confusion */
-#define RF3_NO_SLEEP        0x80000000  /*!< モンスター特性: 眠らない / Cannot be slept */
-
-/*
- * New monster race bit flags
- */
-#define RF4_SHRIEK          0x00000001  /*!< モンスター能力: 叫ぶ / Shriek for help */
-#define RF4_XXX1            0x00000002  /*!< モンスター能力: 未使用 / XXX */
-#define RF4_DISPEL          0x00000004  /*!< モンスター能力: 魔力消去 / Dispel magic */
-#define RF4_ROCKET          0x00000008  /*!< モンスター能力: ロケット / TY: Rocket */
-#define RF4_SHOOT           0x00000010  /*!< モンスター能力: 射撃/ Fire missiles */
-#define RF4_XXX2            0x00000020  /*!< モンスター能力: 未使用 / XXX */
-#define RF4_XXX3            0x00000040  /*!< モンスター能力: 未使用 / XXX */
-#define RF4_XXX4            0x00000080  /*!< モンスター能力: 未使用 / XXX */
-#define RF4_BR_ACID         0x00000100  /*!< モンスター能力: 酸のブレス / Breathe Acid */
-#define RF4_BR_ELEC         0x00000200  /*!< モンスター能力: 電撃のブレス / Breathe Elec */
-#define RF4_BR_FIRE         0x00000400  /*!< モンスター能力: 火炎のブレス / Breathe Fire */
-#define RF4_BR_COLD         0x00000800  /*!< モンスター能力: 冷気のブレス / Breathe Cold */
-#define RF4_BR_POIS         0x00001000  /*!< モンスター能力: 毒のブレス / Breathe Poison */
-#define RF4_BR_NETH         0x00002000  /*!< モンスター能力: 地獄のブレス / Breathe Nether */
-#define RF4_BR_LITE         0x00004000  /*!< モンスター能力: 閃光のブレス / Breathe Lite */
-#define RF4_BR_DARK         0x00008000  /*!< モンスター能力: 暗黒のブレス / Breathe Dark */
-#define RF4_BR_CONF         0x00010000  /*!< モンスター能力: 混乱のブレス / Breathe Confusion */
-#define RF4_BR_SOUN         0x00020000  /*!< モンスター能力: 轟音のブレス / Breathe Sound */
-#define RF4_BR_CHAO         0x00040000  /*!< モンスター能力: カオスのブレス / Breathe Chaos */
-#define RF4_BR_DISE         0x00080000  /*!< モンスター能力: 劣化のブレス / Breathe Disenchant */
-#define RF4_BR_NEXU         0x00100000  /*!< モンスター能力: 因果混乱のブレス / Breathe Nexus */
-#define RF4_BR_TIME         0x00200000  /*!< モンスター能力: 時間逆転のブレス / Breathe Time */
-#define RF4_BR_INER         0x00400000  /*!< モンスター能力: 遅鈍のブレス / Breathe Inertia */
-#define RF4_BR_GRAV         0x00800000  /*!< モンスター能力: 重力のブレス / Breathe Gravity */
-#define RF4_BR_SHAR         0x01000000  /*!< モンスター能力: 破片のブレス / Breathe Shards */
-#define RF4_BR_PLAS         0x02000000  /*!< モンスター能力: プラズマのブレス / Breathe Plasma */
-#define RF4_BR_WALL         0x04000000  /*!< モンスター能力: フォースのブレス / Breathe Force */
-#define RF4_BR_MANA         0x08000000  /*!< モンスター能力: 魔力のブレス / Breathe Mana */
-#define RF4_BA_NUKE         0x10000000  /*!< モンスター能力: 放射能球 / TY: Nuke Ball */
-#define RF4_BR_NUKE         0x20000000  /*!< モンスター能力: 放射性廃棄物のブレス / TY: Toxic Breath */
-#define RF4_BA_CHAO         0x40000000  /*!< モンスター能力: ログルス球 / TY: Logrus Ball */
-#define RF4_BR_DISI         0x80000000  /*!< モンスター能力: 分解のブレス / Breathe Disintegration */
-
-/*
- * New monster race bit flags
- */
-#define RF5_BA_ACID         0x00000001  /*!< モンスター能力: アシッド・ボール / Acid Ball */
-#define RF5_BA_ELEC         0x00000002  /*!< モンスター能力: サンダー・ボール / Elec Ball */
-#define RF5_BA_FIRE         0x00000004  /*!< モンスター能力: ファイア・ボール / Fire Ball */
-#define RF5_BA_COLD         0x00000008  /*!< モンスター能力: アイス・ボール / Cold Ball */
-#define RF5_BA_POIS         0x00000010  /*!< モンスター能力: 悪臭雲 / Poison Ball */
-#define RF5_BA_NETH         0x00000020  /*!< モンスター能力: 地獄球 / Nether Ball */
-#define RF5_BA_WATE         0x00000040  /*!< モンスター能力: ウォーター・ボール / Water Ball */
-#define RF5_BA_MANA         0x00000080  /*!< モンスター能力: 魔力の嵐 / Mana Storm */
-#define RF5_BA_DARK         0x00000100  /*!< モンスター能力: 暗黒の嵐 / Darkness Storm */
-#define RF5_DRAIN_MANA      0x00000200  /*!< モンスター能力: 魔力吸収 / Drain Mana */
-#define RF5_MIND_BLAST      0x00000400  /*!< モンスター能力: 精神攻撃 / Blast Mind */
-#define RF5_BRAIN_SMASH     0x00000800  /*!< モンスター能力: 脳攻撃 / Smash Brain */
-#define RF5_CAUSE_1         0x00001000  /*!< モンスター能力: 軽傷の呪い / Cause Light Wound */
-#define RF5_CAUSE_2         0x00002000  /*!< モンスター能力: 重症の頃い / Cause Serious Wound */
-#define RF5_CAUSE_3         0x00004000  /*!< モンスター能力: 致命傷の呪い / Cause Critical Wound */
-#define RF5_CAUSE_4         0x00008000  /*!< モンスター能力: 秘孔を突く / Cause Mortal Wound */
-#define RF5_BO_ACID         0x00010000  /*!< モンスター能力: アシッド・ボルト / Acid Bolt */
-#define RF5_BO_ELEC         0x00020000  /*!< モンスター能力: サンダー・ボルト / Elec Bolt */
-#define RF5_BO_FIRE         0x00040000  /*!< モンスター能力: ファイア・ボルト / Fire Bolt */
-#define RF5_BO_COLD         0x00080000  /*!< モンスター能力: アイス・ボルト / Cold Bolt */
-#define RF5_BA_LITE         0x00100000  /*!< モンスター能力: スター・バースト / StarBurst */
-#define RF5_BO_NETH         0x00200000  /*!< モンスター能力: 地獄の矢 / Nether Bolt */
-#define RF5_BO_WATE         0x00400000  /*!< モンスター能力: ウォーター・ボルト / Water Bolt */
-#define RF5_BO_MANA         0x00800000  /*!< モンスター能力: 魔力の矢 / Mana Bolt */
-#define RF5_BO_PLAS         0x01000000  /*!< モンスター能力: プラズマ・ボルト / Plasma Bolt */
-#define RF5_BO_ICEE         0x02000000  /*!< モンスター能力: 極寒の矢 / Ice Bolt */
-#define RF5_MISSILE         0x04000000  /*!< モンスター能力: マジック・ミサイルt / Magic Missile */
-#define RF5_SCARE           0x08000000  /*!< モンスター能力: 恐慌 / Frighten Player */
-#define RF5_BLIND           0x10000000  /*!< モンスター能力: 盲目 / Blind Player */
-#define RF5_CONF            0x20000000  /*!< モンスター能力: 混乱 / Confuse Player */
-#define RF5_SLOW            0x40000000  /*!< モンスター能力: 減速 / Slow Player */
-#define RF5_HOLD            0x80000000  /*!< モンスター能力: 麻痺 / Paralyze Player */
-
-/*
- * New monster race bit flags
- */
-#define RF6_HASTE           0x00000001  /* Speed self */
-#define RF6_HAND_DOOM       0x00000002  /* Hand of Doom */
-#define RF6_HEAL            0x00000004  /* Heal self */
-#define RF6_INVULNER        0x00000008  /* INVULNERABILITY! */
-#define RF6_BLINK           0x00000010  /* Teleport Short */
-#define RF6_TPORT           0x00000020  /* Teleport Long */
-#define RF6_WORLD           0x00000040  /* world */
-#define RF6_SPECIAL         0x00000080  /* Special Attack */
-#define RF6_TELE_TO         0x00000100  /* Move player to monster */
-#define RF6_TELE_AWAY       0x00000200  /* Move player far away */
-#define RF6_TELE_LEVEL      0x00000400  /* Move player vertically */
-#define RF6_PSY_SPEAR       0x00000800  /* Psyco-spear */
-#define RF6_DARKNESS        0x00001000  /* Create Darkness */
-#define RF6_TRAPS           0x00002000  /* Create Traps */
-#define RF6_FORGET          0x00004000  /* Cause amnesia */
-#define RF6_RAISE_DEAD      0x00008000  /* Raise Dead */
-#define RF6_S_KIN           0x00010000  /* Summon "kin" */
-#define RF6_S_CYBER         0x00020000  /* Summon Cyberdemons! */
-#define RF6_S_MONSTER       0x00040000  /* Summon Monster */
-#define RF6_S_MONSTERS      0x00080000  /* Summon Monsters */
-#define RF6_S_ANT           0x00100000  /* Summon Ants */
-#define RF6_S_SPIDER        0x00200000  /* Summon Spiders */
-#define RF6_S_HOUND         0x00400000  /* Summon Hounds */
-#define RF6_S_HYDRA         0x00800000  /* Summon Hydras */
-#define RF6_S_ANGEL         0x01000000  /* Summon Angel */
-#define RF6_S_DEMON         0x02000000  /* Summon Demon */
-#define RF6_S_UNDEAD        0x04000000  /* Summon Undead */
-#define RF6_S_DRAGON        0x08000000  /* Summon Dragon */
-#define RF6_S_HI_UNDEAD     0x10000000  /* Summon Greater Undead */
-#define RF6_S_HI_DRAGON     0x20000000  /* Summon Ancient Dragon */
-#define RF6_S_AMBERITES     0x40000000  /* Summon Amberites */
-#define RF6_S_UNIQUE        0x80000000  /* Summon Unique Monster */
-
-/*
- * New monster race bit flags
- */
-#define RF7_AQUATIC             0x00000001  /* Aquatic monster */
-#define RF7_CAN_SWIM            0x00000002  /* Monster can swim */
-#define RF7_CAN_FLY             0x00000004  /* Monster can fly */
-#define RF7_FRIENDLY            0x00000008  /* Monster is friendly */
-#define RF7_NAZGUL              0x00000010  /* Is a "Nazgul" unique */
-#define RF7_UNIQUE2             0x00000020  /* Fake unique */
-#define RF7_RIDING              0x00000040  /* Good for riding */
-#define RF7_KAGE                0x00000080  /* Is kage */
-#define RF7_HAS_LITE_1          0x00000100  /* Monster carries light */
-#define RF7_SELF_LITE_1         0x00000200  /* Monster lights itself */
-#define RF7_HAS_LITE_2          0x00000400  /* Monster carries light */
-#define RF7_SELF_LITE_2         0x00000800  /* Monster lights itself */
-#define RF7_GUARDIAN            0x00001000  /* Guardian of a dungeon */
-#define RF7_CHAMELEON           0x00002000  /* Chameleon can change */
-#define RF7_XXXX4XXX            0x00004000  /* Now Empty */
-#define RF7_TANUKI              0x00008000  /* Tanuki disguise */
-#define RF7_HAS_DARK_1          0x00010000  /* Monster carries darkness */
-#define RF7_SELF_DARK_1         0x00020000  /* Monster darkens itself */
-#define RF7_HAS_DARK_2          0x00040000  /* Monster carries darkness */
-#define RF7_SELF_DARK_2         0x00080000  /* Monster darkens itself */
-
-/*
- * Monster race flags
- */
-#define RF8_WILD_ONLY           0x00000001
-#define RF8_WILD_TOWN           0x00000002
-#define RF8_XXX8X02             0x00000004
-#define RF8_WILD_SHORE          0x00000008
-#define RF8_WILD_OCEAN          0x00000010
-#define RF8_WILD_WASTE          0x00000020
-#define RF8_WILD_WOOD           0x00000040
-#define RF8_WILD_VOLCANO        0x00000080
-#define RF8_XXX8X08             0x00000100
-#define RF8_WILD_MOUNTAIN       0x00000200
-#define RF8_WILD_GRASS          0x00000400
-#define RF8_WILD_ALL            0x80000000
-
-/*
- * Monster drop info
- */
-#define RF9_DROP_CORPSE         0x00000001
-#define RF9_DROP_SKELETON       0x00000002
-#define RF9_EAT_BLIND           0x00000004
-#define RF9_EAT_CONF            0x00000008
-#define RF9_EAT_MANA            0x00000010
-#define RF9_EAT_NEXUS           0x00000020
-#define RF9_EAT_SLEEP           0x00000040
-#define RF9_EAT_BERSERKER       0x00000080
-#define RF9_EAT_ACIDIC          0x00000100
-#define RF9_EAT_SPEED           0x00000200
-#define RF9_EAT_CURE            0x00000400
-#define RF9_EAT_FIRE_RES        0x00000800
-#define RF9_EAT_COLD_RES        0x00001000
-#define RF9_EAT_ACID_RES        0x00002000
-#define RF9_EAT_ELEC_RES        0x00004000
-#define RF9_EAT_POIS_RES        0x00008000
-#define RF9_EAT_INSANITY        0x00010000
-#define RF9_EAT_DRAIN_EXP       0x00020000
-#define RF9_EAT_POISONOUS       0x00040000
-#define RF9_EAT_GIVE_STR        0x00080000
-#define RF9_EAT_GIVE_INT        0x00100000
-#define RF9_EAT_GIVE_WIS        0x00200000
-#define RF9_EAT_GIVE_DEX        0x00400000
-#define RF9_EAT_GIVE_CON        0x00800000
-#define RF9_EAT_GIVE_CHR        0x01000000
-#define RF9_EAT_LOSE_STR        0x02000000
-#define RF9_EAT_LOSE_INT        0x04000000
-#define RF9_EAT_LOSE_WIS        0x08000000
-#define RF9_EAT_LOSE_DEX        0x10000000
-#define RF9_EAT_LOSE_CON        0x20000000
-#define RF9_EAT_LOSE_CHR        0x40000000
-#define RF9_EAT_DRAIN_MANA      0x80000000
-
-/*
- * Monster bit flags of racial resistances
- * Note: Resist confusion was merged to RFR_NO_CONF
- */
-#define RFR_IM_ACID         0x00000001  /* Immunity acid */
-#define RFR_IM_ELEC         0x00000002  /* Immunity elec */
-#define RFR_IM_FIRE         0x00000004  /* Immunity fire */
-#define RFR_IM_COLD         0x00000008  /* Immunity cold */
-#define RFR_IM_POIS         0x00000010  /* Immunity poison */
-#define RFR_RES_LITE        0x00000020  /* Resist lite */
-#define RFR_RES_DARK        0x00000040  /* Resist dark */
-#define RFR_RES_NETH        0x00000080  /* Resist nether */
-#define RFR_RES_WATE        0x00000100  /* Resist water */
-#define RFR_RES_PLAS        0x00000200  /* Resist plasma */
-#define RFR_RES_SHAR        0x00000400  /* Resist shards */
-#define RFR_RES_SOUN        0x00000800  /* Resist sound */
-#define RFR_RES_CHAO        0x00001000  /* Resist chaos */
-#define RFR_RES_NEXU        0x00002000  /* Resist nexus */
-#define RFR_RES_DISE        0x00004000  /* Resist disenchantment */
-#define RFR_RES_WALL        0x00008000  /* Resist force */
-#define RFR_RES_INER        0x00010000  /* Resist inertia */
-#define RFR_RES_TIME        0x00020000  /* Resist time */
-#define RFR_RES_GRAV        0x00040000  /* Resist gravity */
-#define RFR_RES_ALL         0x00080000  /* Resist all */
-#define RFR_RES_TELE        0x00100000  /* Resist teleportation */
-#define RFR_XXX21           0x00200000
-#define RFR_XXX22           0x00400000
-#define RFR_XXX23           0x00800000
-#define RFR_XXX24           0x01000000
-#define RFR_XXX25           0x02000000
-#define RFR_XXX26           0x04000000
-#define RFR_XXX27           0x08000000
-#define RFR_XXX28           0x10000000
-#define RFR_XXX29           0x20000000
-#define RFR_XXX30           0x40000000
-#define RFR_XXX31           0x80000000
-
-
  /*
   * Hack -- "torch" masks
   */
 #define MR1_SINKA 0x01
 
 
-#define is_friendly(A) \
-        (bool)(((A)->smart & SM_FRIENDLY) ? TRUE : FALSE)
-
-#define is_friendly_idx(IDX) \
-        (bool)((IDX) > 0 && is_friendly(&current_floor_ptr->m_list[(IDX)]))
-
-#define is_pet(A) \
-        (bool)(((A)->smart & SM_PET) ? TRUE : FALSE)
-
-#define is_hostile(A) \
-        (bool)((is_friendly(A) || is_pet(A)) ? FALSE : TRUE)
-
-/* 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 ***/
 
 
  */
 #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)
  */
 #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
  */
@@ -3286,31 +2320,6 @@ 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?
  */
@@ -3439,68 +2448,7 @@ 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
 
-/*
- * 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
 
 
 /*
@@ -3532,102 +2480,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
@@ -3647,372 +2504,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
 
@@ -4039,128 +2530,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
  */
@@ -4347,43 +2720,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
 */