OSDN Git Service

地形に関する変更.
[hengband/hengband.git] / src / tables.c
index 1dc9cfc..1ae6051 100644 (file)
@@ -1163,30 +1163,52 @@ byte blows_table[12][12] =
 
 };
 
-s16b arena_monsters[MAX_ARENA_MONS+2] =
-{
-       1059,  1060,    230,    241,    255,    270,    285,
-       293,    321,    348,    367,    395,    396,    403,
-       417,    436,    453,    464,    471,    479,    490,
-       504,    539,    569,    593,    621,    623,    1061,
-       1062,   657,    666,    702,    720,    768,    786,
-       798,    988,    847,      0,    871
-};
-
 
-
-s16b arena_shouhin[MAX_ARENA_MONS+2] =
+arena_type arena_info[MAX_ARENA_MONS + 2] =
 {
-         0,      0,      0,      0,    249,      0,      0,
-         0,      0,    242,      0,      0,      0,      0,
-       583,      0,      0,      0,      0,    198,      0,
-       190,      0,    363,      0,    212,      0,    207,
-         0,    628,      0,    422,      0,    372,    327,
-       199,    325,    374,      0,    205
+       { MON_NOBORTA,       0,         0                             },
+       { MON_MORI_TROLL,    0,         0                             },
+       { MON_TIGER,         0,         0                             },
+       { MON_DRUID,         0,         0                             },
+       { MON_HILL_GIANT,    TV_POTION, SV_POTION_SPEED               },
+       { MON_WERERAT,       0,         0                             },
+       { MON_ORC_CAPTAIN,   0,         0                             },
+       { MON_BERSERKER,     0,         0                             },
+       { MON_STONE_GIANT,   0,         0                             },
+       { MON_D_ELF_LORD,    TV_POTION, SV_POTION_HEALING             },
+       { MON_IRON_GOLEM,    0,         0                             },
+       { MON_C_CRAWLER,     0,         0                             },
+       { MON_XICLOTLAN,     0,         0                             },
+       { MON_TROLL_PRIEST,  0,         0                             },
+       { MON_ANGEL,         TV_ROD,    SV_ROD_STONE_TO_MUD           },
+       { MON_SPIRIT_NAGA,   0,         0                             },
+       { MON_BASILISK,      0,         0                             },
+       { MON_MITHRIL_GOLEM, 0,         0                             },
+       { MON_SHADOW_DRAKE,  0,         0                             },
+       { MON_OGRE_SHAMAN,   TV_SCROLL, SV_SCROLL_ACQUIREMENT         },
+       { MON_BICLOPS,       0,         0                             },
+       { MON_ETHER_DRAKE,   TV_SCROLL, SV_SCROLL_RUNE_OF_PROTECTION  },
+       { MON_HALFLING_S,    0,         0                             },
+       { MON_ELDER_THING,   TV_ROD,    SV_ROD_DRAIN_LIFE             },
+       { MON_M_MH_DRAGON,   0,         0                             },
+       { MON_ETTIN,         TV_SCROLL, SV_SCROLL_STAR_ENCHANT_WEAPON },
+       { MON_VAMPIRE_LORD,  0,         0                             },
+       { MON_BARNEY,        TV_SCROLL, SV_SCROLL_GENOCIDE            },
+       { MON_GROO,          0,         0                             },
+       { MON_D_ELF_SORC,    TV_WAND,   SV_WAND_STRIKING              },
+       { MON_IRON_LICH,     0,         0                             },
+       { MON_G_TITAN,       TV_POTION, SV_POTION_STAR_ENLIGHTENMENT  },
+       { MON_G_BALROG,      0,         0                             },
+       { MON_NIGHTWALKER,   TV_ROD,    SV_ROD_IDENTIFY               },
+       { MON_SHAMBLER,      TV_STAFF,  SV_STAFF_HOLINESS             },
+       { MON_BLACK_REAVER,  TV_SCROLL, SV_SCROLL_STAR_ACQUIREMENT    },
+       { MON_FENGHUANG,     TV_STAFF,  SV_STAFF_THE_MAGI             },
+       { MON_WYRM_POWER,    TV_ROD,    SV_ROD_HEALING                },
+       { 0,                 0,         0                             }, /* Victory prizing */
+       { MON_HAGURE,        TV_SCROLL, SV_SCROLL_ARTIFACT            },
 };
 
 
-
 /*
  * Store owners (exactly four "possible" owners per store, chosen randomly)
  * { name, purse, max greed, min greed, haggle_per, tolerance, race, unused }
@@ -4114,1031 +4136,6 @@ cptr realm_names[]
        "unknown"
 };
 
-/*
- * Names of the spells (mage spells then priest spells)
- */
-#ifdef JP
-cptr spell_names[VALID_REALM][32] =
-{
-       /*** Life Spells ***/
-       {
-               /* Common Life Spellbooks */
-"·Ú½ý¤Î¼£Ìþ",
-"½ËÊ¡",
-"·Ú½ý",
-"¸÷¤Î¾¤´­",
-"æ« & ±£¤·Èâ´¶ÃÎ",
-"½Å½ý¤Î¼£Ìþ",
-"²òÆÇ",
-"¶õÊ¢½¼Â­",
-
-"²ò¼ö",
-"½Å½ý",
-"Ã×Ì¿½ý¤Î¼£Ìþ",
-"ÂÑÇ®ÂÑ´¨",
-"¼þÊÕ´¶ÃÎ",
-"¥Ñ¥Ë¥Ã¥¯¡¦¥¢¥ó¥Ç¥Ã¥É",
-"ÂÎÎϲóÉü",
-"·ë³¦¤ÎÌæ¾Ï",
-
-               /* Rare Life Spellbooks */
-"*²ò¼ö*",
-"´Õ¼±",
-"¥¢¥ó¥Ç¥Ã¥ÉÂ໶",
-"Æä¤Î¹ï",
-"Ã×Ì¿½ý",
-"µ¢´Ô¤Î¾Û",
-"¿¿¼Â¤Îº×ÃÅ",
-"¿¿¡¦·ë³¦",
-
-"ÉÔÌÓ²½",
-"Á´´¶ÃÎ",
-"¥¢¥ó¥Ç¥Ã¥É¾ÃÌÇ",
-"ÀéΤ´ã",
-"Á´Éü³è",
-"*ÂÎÎϲóÉü*",
-"À»¤Ê¤ë¥Ó¥¸¥ç¥ó",
-"µæ¶Ë¤ÎÂÑÀ­"
-       },
-
-       /*** Sorcery Spells ***/
-
-       {
-               /* Common Sorcery Spellbooks */
-"¥â¥ó¥¹¥¿¡¼´¶ÃÎ",
-"¥·¥ç¡¼¥È¡¦¥Æ¥ì¥Ý¡¼¥È",
-"櫤ÈÈâ´¶ÃÎ",
-"¥é¥¤¥È¡¦¥¨¥ê¥¢",
-"¥Ñ¥Ë¥Ã¥¯¡¦¥â¥ó¥¹¥¿¡¼",
-"¥Æ¥ì¥Ý¡¼¥È",
-"¥¹¥ê¡¼¥×¡¦¥â¥ó¥¹¥¿¡¼",
-"ËâÎϽ¼Å¶",
-
-"ËâË¡¤ÎÃÏ¿Þ",
-"´ÕÄê",
-"¥¹¥í¥¦¡¦¥â¥ó¥¹¥¿¡¼",
-"¼þÊÕ¥¹¥ê¡¼¥×",
-"¥Æ¥ì¥Ý¡¼¥È¡¦¥â¥ó¥¹¥¿¡¼",
-"¥¹¥Ô¡¼¥É",
-"¿¿¡¦´¶ÃÎ",
-"¿¿¡¦´ÕÄê",
-
-               /* Rare Sorcery Spellbooks */
-"ʪÂΤȺâÊõ´¶ÃÎ",
-"¥Á¥ã¡¼¥à¡¦¥â¥ó¥¹¥¿¡¼",
-"Àº¿À´¶ÃÎ",
-"³¹°ÜÆ°",
-"¼«¸ÊʬÀÏ",
-"¥Æ¥ì¥Ý¡¼¥È¡¦¥ì¥Ù¥ë",
-"µ¢´Ô¤Î¼öʸ",
-"¼¡¸µ¤ÎÈâ",
-
-"Ä´ºº",
-"Çúȯ¤Î¥ë¡¼¥ó",
-"Ç°Æ°ÎÏ",
-"ÀéΤ´ã",
-"̥λ¤Î»ëÀþ",
-"Ï£¶â½Ñ",
-"²øʪÄÉÊü",
-"̵½ý¤Îµå"
-
-       },
-
-       /*** Nature Spells ***/
-
-       {
-               /* Common Nature Spellbooks */
-"¥â¥ó¥¹¥¿¡¼´¶ÃÎ",
-"°ðºÊ",
-"櫤ÈÈâ´¶ÃÎ",
-"¿©ÎÈÀ¸À®",
-"Æü¤Î¸÷",
-"ưʪ½¬¤·",
-"´Ä¶­¤Ø¤ÎÂÑÀ­",
-"½ý¤ÈÆǼ£ÎÅ",
-
-"´äÀÐÍϲò",
-"¥¢¥¤¥¹¡¦¥Ü¥ë¥È",
-"¼«Á³¤Î³ÐÀÃ",
-"¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È",
-"ÂÀÍÛ¸÷Àþ",
-"­¤«¤»",
-"ưʪ¾¤´­",
-"ÌôÁð¼£ÎÅ",
-
-               /* Rare Nature Spellbooks */
-"³¬ÃÊÀ¸À®",
-"È©Àв½",
-"¿¿¡¦ÂÑÀ­",
-"¿¹ÎÓÁϤ",
-"ưʪͧÏÂ",
-"»î¶âÀÐ",
-"ÀФÎÊÉ",
-"Éå¿©ËÉ»ß",
-
-"ÃÏ¿Ì",
-"¥«¥Þ¥¤¥¿¥Á",
-"¥Ö¥ê¥¶¡¼¥É",
-"°ðºÊÍò",
-"±²Ä¬",
-"ÍÛ¸÷¾¤´­",
-"ÀºÎî¤Î¿Ï",
-"¼«Á³¤Î¶¼°Ò"
-
-       },
-
-       /*** Chaos Spells ***/
-
-       {
-               /* Common Chaos Spellbooks */
-"¥Þ¥¸¥Ã¥¯¡¦¥ß¥µ¥¤¥ë",
-"¥È¥é¥Ã¥×/¥É¥¢Ç˲õ",
-"Á®¸÷",
-"º®Íð¤Î¼ê",
-"ËâÎÏßÚÎö",
-"¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È",
-"ÎϤηý",
-"¥Æ¥ì¥Ý¡¼¥È",
-
-"¥ï¥ó¥À¡¼",
-"¥«¥ª¥¹¡¦¥Ü¥ë¥È",
-"¥½¥Ë¥Ã¥¯¡¦¥Ö¡¼¥à",
-"ÇËÌǤÎÌð",
-"¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë",
-"¥Æ¥ì¥Ý¡¼¥È¡¦¥¢¥¦¥§¥¤",
-"Ç˲õ¤Î¸ÀÍÕ",
-"¥í¥°¥ë¥¹È¯Æ°",
-
-               /* Rare Chaos Spellbooks */
-"¾¼ÔÊÑÍÆ",
-"Ï¢º¿°ðºÊ",
-"ËâÎÏÉõÆþ",
-"¸¶»Òʬ²ò",
-"¸½¼ÂÊÑÍÆ",
-"¥Þ¥¸¥Ã¥¯¡¦¥í¥±¥Ã¥È",
-"º®Æ٤οÏ",
-"°­Ë⾤´­",
-
-"½ÅÎϸ÷Àþ",
-"ήÀ±·²",
-"±ë¤Î°ì·â",
-"º®ÆÙ¾¤Íè",
-"¼«¸ÊÊÑÍÆ",
-"ËâÎϤÎÍò",
-"¥í¥°¥ë¥¹¤Î¥Ö¥ì¥¹",
-"µõ̵¾¤Íè"
-
-       },
-
-       /*** Death Spells ***/
-
-       {
-               /* Common Death Spellbooks */
-"̵À¸Ì¿´¶ÃÎ",
-"¼ö»¦ÃÆ",
-"¼Ù°­´¶ÃÎ",
-"°­½­±À",
-"¹õ¤¤Ì²¤ê",
-"ÂÑÆÇ",
-"¶²¹²",
-"¥¢¥ó¥Ç¥Ã¥É½¾Â°",
-
-"¥¨¥ó¥È¥í¥Ô¡¼¤Îµå",
-"ÃϹö¤ÎÌð",
-"»¦Ù¤±À",
-"¥â¥ó¥¹¥¿¡¼¾ÃÌÇ",
-"ÆǤοÏ",
-"µÛ·ì¥É¥ì¥¤¥ó",
-"È¿º²¤Î½Ñ",
-"Ëõ»¦",
-
-               /* Rare Death Spellbooks */
-"¶¸Àï»Î²½",
-"°­Î´­",
-"°Å¹õ¤ÎÌð",
-"¶¸ÍðÀï»Î",
-"µÛ·ì¤Î¿Ï",
-"¿¿¡¦µÛ·ì",
-"»à¤Î¸Àº²",
-"°Å¹õ¤ÎÍò",
-
-"»à¤Î¸÷Àþ",
-"»à¼Ô¾¤´­",
-"»à¼Ô¤ÎÈëÅÁ",
-"µÛ·ìµ´ÊѲ½",
-"À¸Ì¿ÎÏÉü³è",
-"¼þÊÕËõ»¦",
-"ÃϹö¤Î¹å²Ð",
-"Í©Âβ½"
-
-       },
-
-       /*** Trump Spells ***/
-
-       {
-               /* Common Trump Spellbooks */
-"¥·¥ç¡¼¥È¡¦¥Æ¥ì¥Ý¡¼¥È",
-"ÃØéá¤Î¥«¡¼¥É",
-"¥·¥ã¥Ã¥Õ¥ë",
-"¥Õ¥í¥¢¡¦¥ê¥»¥Ã¥È",
-"¥Æ¥ì¥Ý¡¼¥È",
-"´¶ÃΤΥ«¡¼¥É",
-"¥Æ¥ì¥Ý¡¼¥È¡¦¥â¥ó¥¹¥¿¡¼",
-"ưʪ¤Î¥«¡¼¥É",
-
-"°ÜÆ°¤Î¥«¡¼¥É",
-"¥«¥ß¥«¥¼¤Î¥«¡¼¥É",
-"¸¸Î´­",
-"¥¹¥Ô¡¼¥É¡¦¥â¥ó¥¹¥¿¡¼",
-"¥Æ¥ì¥Ý¡¼¥È¡¦¥ì¥Ù¥ë",
-"¼¡¸µ¤ÎÈâ",
-"µ¢´Ô¤Î¼öʸ",
-"²øʪÄÉÊü",
-
-               /* Rare Trump Spellbooks */
-"°ÌÃÖ¸ò´¹¤Î¥«¡¼¥É",
-"¥¢¥ó¥Ç¥Ã¥É¤Î¥«¡¼¥É",
-"à¨ÃîÎà¤Î¥«¡¼¥É",
-"¥â¥ó¥¹¥¿¡¼¤Î¥«¡¼¥É",
-"¥Ï¥¦¥ó¥É¤Î¥«¡¼¥É",
-"¥È¥é¥ó¥×¤Î¿Ï",
-"¿Í´Ö¥È¥é¥ó¥×",
-"¥µ¥¤¥Ð¡¼¥Ç¡¼¥â¥ó¤Î¥«¡¼¥É",
-
-"ͽ¸«¤Î¥«¡¼¥É",
-"Ãμ±¤Î¥«¡¼¥É",
-"²óÉü¥â¥ó¥¹¥¿¡¼",
-"¥É¥é¥´¥ó¤Î¥«¡¼¥É",
-"ð¨ÀФΥ«¡¼¥É",
-"¥Ç¡¼¥â¥ó¤Î¥«¡¼¥É",
-"ÃϹö¤Î¥«¡¼¥É",
-"¸ÅÂå¥É¥é¥´¥ó¤Î¥«¡¼¥É"
-
-       },
-
-       /*** Arcane Spells (_only_ common spells) ***/
-
-       {
-"ÅÅ·â",
-"ËâË¡¤Î»Ü¾û",
-"Æ©ÌÀÂδ¶ÃÎ",
-"¥â¥ó¥¹¥¿¡¼´¶ÃÎ",
-"¥·¥ç¡¼¥È¡¦¥Æ¥ì¥Ý¡¼¥È",
-"¥é¥¤¥È¡¦¥¨¥ê¥¢",
-"櫤ÈÈâ Ç˲õ",
-"·Ú½ý¤Î¼£Ìþ",
-
-"櫤ÈÈâ ´¶ÃÎ",
-"dzÁÇ",
-"ºâÊõ´¶ÃÎ",
-"ËâË¡ ´¶ÃÎ",
-"¥¢¥¤¥Æ¥à´¶ÃÎ",
-"²òÆÇ",
-"ÂÑÎä",
-"ÂѲÐ",
-
-"ÂÑÅÅ",
-"ÂÑ»À",
-"½Å½ý¤Î¼£Ìþ",
-"¥Æ¥ì¥Ý¡¼¥È",
-"´ÕÄê",
-"´äÀÐÍϲò",
-"Á®¸÷",
-"¶õÊ¢½¼Â­",
-
-"Æ©ÌÀ»ëǧ",
-"¥¨¥ì¥á¥ó¥¿¥ë¾¤´­",
-"¥Æ¥ì¥Ý¡¼¥È¡¦¥ì¥Ù¥ë",
-"¥Æ¥ì¥Ý¡¼¥È¡¦¥â¥ó¥¹¥¿¡¼",
-"¸µÁǤεå",
-"Á´´¶ÃÎ",
-"µ¢´Ô¤Î¼öʸ",
-"ÀéΤ´ã",
-
-       },
-
-       /*** Craft Spells ***/
-
-       {
-               /* Common Craft Spellbooks */
-"ÀÖ³°Àþ»ëÎÏ",
-"²óÉüÎ϶¯²½",
-"¶õÊ¢½¼Â­",
-"ÂÑÎ䵤",
-"ÂѲбê",
-"»Îµ¤¹âÍÈ",
-"ÂÑÅÅ·â",
-"ÂÑ»À",
-
-"Æ©ÌÀ»ëǧ",
-"²ò¼ö",
-"ÂÑÆÇ",
-"¶¸Àï»Î²½",
-"¼«¸ÊʬÀÏ",
-"Âмٰ­·ë³¦",
-"Ìþ¤·",
-"ËâË¡·õ",
-
-               /* Rare Craft Spellbooks */
-"¥Æ¥ì¥Ñ¥·¡¼",
-"È©Àв½",
-"Á´ÂÑÀ­",
-"¥¹¥Ô¡¼¥É",
-"ÊÉÈ´¤±",
-"½âË᤭",
-"¥´¡¼¥ì¥àÀ½Â¤",
-"ËâË¡¤Î³»",
-
-"ÁõÈ÷̵Îϲ½",
-"¼ö¤¤Ê´ºÕ",
-"´°Á´¤Ê¤ëÃμ±",
-"Éð´ï¶¯²½",
-"Ëɶñ¶¯²½",
-"Éð´ï°À­ÉÕÍ¿",
-"¿Í´Ö¥È¥é¥ó¥×",
-"°À­¤Ø¤ÎÌȱÖ",
-
-       },
-
-       /*** Daemon Spells ***/
-
-       {
-               /* Common Daemon Spellbooks */
-"¥Þ¥¸¥Ã¥¯¡¦¥ß¥µ¥¤¥ë",
-"̵À¸Ì¿´¶ÃÎ",
-"¼Ù¤Ê¤ë½ËÊ¡",
-"ÂѲбê",
-"¶²¹²",
-"ÃϹö¤ÎÌð",
-"¸ÅÂå¤Î»àÎ´­",
-"ÃϹö¤Î±ë",
-
-"¥Ç¡¼¥â¥ó»ÙÇÛ",
-"¥Ó¥¸¥ç¥ó",
-"ÂÑÃϹö",
-"¥×¥é¥º¥Þ¡¦¥Ü¥ë¥È",
-"¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë",
-"±ê¤Î¿Ï",
-"ÃϹöµå",
-"¥Ç¡¼¥â¥ó¾¤´­",
-
-               /* Rare Daemon Spellbooks */
-"°­Ëâ¤ÎÌÜ",
-"°­Ëâ¤Î¥¯¥í¡¼¥¯",
-"ÍÏ´äή",
-"¥×¥é¥º¥Þµå",
-"°­ËâÊѲ½",
-"ÃϹö¤ÎÇÈÆ°",
-"¥µ¥­¥å¥Ð¥¹¤ÎÀÜÊ­",
-"ÇËÌǤμê",
-
-"»Îµ¤¹âÍÈ",
-"ÉÔÌǤÎÆùÂÎ",
-"¶¸µ¤¤Î±ß´Ä",
-"¥Ú¥Ã¥ÈÇúÇË",
-"¥°¥ì¡¼¥¿¡¼¥Ç¡¼¥â¥ó¾¤´­",
-"ÃϹöÍò",
-"·ì¤Î¼ö¤¤",
-"ËⲦÊѲ½",
-
-       },
-
-       /*** Crusade Spells ***/
-
-       {
-               /* Common Crusade Spellbooks */
-"Ĩȳ",
-"¼Ù°­Â¸ºß´¶ÃÎ",
-"¶²Éݽüµî",
-"°Ò°µ",
-"À»°è",
-"Æþ¸ý",
-"¥¹¥¿¡¼¥À¥¹¥È",
-"¿ÈÂξô²½",
-
-"¼Ù°­Èô¤Ð¤·",
-"À»¤Ê¤ë¸÷µå",
-"°­Ëâʧ¤¤",
-"²ò¼ö",
-"Æ©ÌÀ»ëǧ",
-"Âмٰ­·ë³¦",
-"ºÛ¤­¤ÎÍë",
-"À»¤Ê¤ë¸æ¸ÀÍÕ",
-
-               /* Rare Crusade Spellbooks */
-"³«¤«¤ì¤¿Æ»",
-"ÉõËâ",
-"À»¤Ê¤ë¥ª¡¼¥é",
-"¥¢¥ó¥Ç¥Ã¥É&°­ËâÂ໶",
-"¼Ù°­Â໶",
-"À»¤Ê¤ë¿Ï",
-"¥¹¥¿¡¼¥Ð¡¼¥¹¥È",
-"Å·»È¾¤´­",
-
-"»Îµ¤¹âÍÈ",
-"¼ö¤¤Â໶",
-"¼Ù°­ÄÉÊü",
-"¥Ï¥ë¥Þ¥²¥É¥ó",
-"ÌܤˤÏÌܤò",
-"¿À¤ÎÅܤê",
-"¿À°Ò",
-"À»Àï",
-
-       },
-
-       /*** Music Spells ***/
-
-       /* Ìõ¸ì
-          Song : ²Î, Note : ²»¿§, Pattern : ÀûΧ, 
-          Ballad : ²Î(Íضʢª¡Ö±´¡×¤ÈÌõ¤¹?), Chant : ²ÎÀ¼, */
-       {
-               /******* Apprentice Handbook *******/
-               "ÃÙÆߤβÎ",     /*"Song of Holding"*/
-               "½ËÊ¡¤Î²Î",     /*"Song of Blessing"*/
-               "Êø²õ¤Î²»¿§",   /*"Wracking Note"*/
-               "Û¯Û°¤ÎÀûΧ",   /*"Stun Pattern"*/
-               "À¸Ì¿¤Îή¤ì",   /*"Flow of Life"*/
-               "ÂÀÍۤβÎ",     /*"Song of the Sun"*/
-               "¶²ÉݤβÎ",
-               "À襤¤Î²Î",     /*"Heroic Ballad"*/
-
-               /******* Minstrel's Music *******/
-               "ÎîŪÃγÐ",     /*"Clairaudience"*/
-               "º²¤Î²Î",
-               "Ãμ±¤Î²Î",     /*"Song of Lore"*/
-               "±£ÆۤβÎ",
-               "¸¸±Æ¤ÎÀûΧ",   /*"Illusion Pattern"*/
-               "ÇËÌǤ櫤Ó",   /*"Doomcall"*/
-               "¥Õ¥£¥ê¥¨¥ë¤Î²Î",       /*"Firiel's Song"*/
-               "ι¤ÎÃç´Ö",     /*"Fellowship Chant"*/
-
-               /******* Harps of Rivendell *******/
-               "ʬ²ò²»ÇÈ",
-               "¸µÁÇÂÑÀ­",
-               "¥Û¥Ó¥Ã¥È¤Î¥á¥í¥Ç¥£",
-               "ÏĤó¤ÀÀ¤³¦",
-               "Â໶¤Î²Î",
-               "¥µ¥ë¥Þ¥ó¤Î´Å¸À",
-               "Íò¤Î²»¿§",
-               "¤â¤¦°ì¤Ä¤ÎÀ¤³¦",
-
-               /******* Lays of Beleriand *******/
-               "Ç˲õ¤ÎÀûΧ",
-               "ÄäÂڤβÎ",
-               "¼é¤ê¤Î²Î",
-               "±Ñͺ¤Î»í",
-               "¥ä¥ô¥¡¥ó¥Ê¤Î½õ¤±",
-               "ºÆÀ¸¤Î²Î",
-               "¥µ¥¦¥í¥ó¤ÎËâ½Ñ",
-               "¥Õ¥£¥ó¥´¥ë¥Õ¥£¥ó¤ÎÄ©Àï",
-       },
-
-       /*** Hissatsuwaza ***/
-
-       {
-               "ÈôÈÓ¹Ë",
-               "¸Þ·î±«»Â¤ê",
-               "¥Ö¡¼¥á¥é¥ó",
-               "±ëÎî",
-               "»¦µ¤´¶ÃÎ",
-               "¤ß¤ÍÂǤÁ",
-               "¥«¥¦¥ó¥¿¡¼",
-               "ʧ¤¤È´¤±",
-
-               "¥µ¡¼¥Ú¥ó¥Ä¥¿¥ó",
-               "»ÂËâ·õÆõ¤ÎÂÀÅá",
-               "ÎöÉ÷·õ",
-               "Åá¾¢¤ÎÌÜÍø¤­",
-               "ÇË´ä»Â",
-               "Íð¤ìÀã·î²Ö",
-               "µÞ½êÆͤ­",
-               "Ëâ¿À»Â¤ê",
-
-               "¼Î¤Æ¿È",
-               "Íë·âÏÉÄÞ»Â",
-               "Æþ¿È",
-               "ÀÖή±²",
-               "·ã¿Ì·â",
-               "ÃÏÁö¤ê",
-               "µ¤Ç÷¤Îͺ¶«¤Ó",
-               "̵Áл°ÃÊ",
-
-               "µÛ·ìµ´¤Î²ç",
-               "¸¸ÏÇ",
-               "É´¿Í»Â¤ê",
-               "Å·æÆζÁ®",
-               "Æó½Å¤Î·õ·â",
-               "¸×ÉúÀäÅáÀª",
-               "·Ä±Àµ´Ç¦·õ",
-               "ÀÚÊ¢",
-       },
-};
-
-#else
-
-cptr spell_names[VALID_REALM][32] =
-{
-       /*** Life Spells ***/
-       {
-               /* Common Life Spellbooks */
-               "Cure Light Wounds",
-               "Bless",
-               "Cause Light Wounds",
-               "Call Light",
-               "Detect Doors & Traps",
-               "Cure Medium Wounds",
-               "Cure Poison",   
-               "Satisfy Hunger",
-
-               "Remove Curse",
-               "Cause Medium Wounds",
-               "Cure Critical Wounds",
-               "Resist Heat and Cold",
-               "Sense Surroundings",
-               "Turn Undead",
-               "Healing",
-               "Glyph of Warding",
-
-               /* Rare Life Spellbooks */
-               "Dispel Curse",
-               "Perception",
-               "Dispel Undead",
-               "Day of the Dove",
-               "Cause Critical Wounds",
-               "Word of Recall",
-               "Alter Reality",
-               "Warding True",
-
-               "Sterilization",
-               "Detection",
-               "Annihilate Undead",
-               "Clairvoyance",
-               "Restoration",
-               "Healing True",
-               "Holy Vision",
-               "Ultimate Resistance",
-       },
-
-       /*** Sorcery Spells ***/
-
-       {
-               /* Common Sorcery Spellbooks */
-               "Detect Monsters",
-               "Phase Door",
-               "Detect Doors and Traps",
-               "Light Area",
-               "Confuse Monster",
-               "Teleport",
-               "Sleep Monster",
-               "Recharging",
-
-               "Magic Mapping",
-               "Identify",
-               "Slow Monster",
-               "Mass Sleep",
-               "Teleport Away",
-               "Haste Self",
-               "Detection True",
-               "Identify True",
-
-               /* Rare Sorcery Spellbooks */
-               "Detect items and Treasure",
-               "Charm Monster",
-               "Sense Minds",
-               "Teleport to town",
-               "Self Knowledge",
-               "Teleport Level",
-               "Word of Recall",
-               "Dimension Door",
-
-               "Probing",
-               "Explosive Rune",
-               "Telekinesis",
-               "Clairvoyance",
-               "Charm monsters",
-               "Alchemy",
-               "Banishment",
-               "Globe of Invulnerability",
-       },
-
-       /*** Nature Spells ***/
-
-       {
-               /* Common Nature Spellbooks */
-               "Detect Creatures",
-               "Lightning",
-               "Detect Doors and Traps",
-               "Produce Food",
-               "Daylight",
-               "Animal Taming",
-               "Resist Environment",
-               "Cure Wounds & Poison",
-
-               "Stone to Mud",
-               "Frost Bolt",
-               "Nature Awareness",
-               "Fire Bolt",
-               "Ray of Sunlight",
-               "Entangle",
-               "Summon Animal",
-               "Herbal Healing",
-
-               /* Rare Nature Spellbooks */
-               "Stair Building",
-               "Stone Skin",
-               "Resistance True",
-               "Forest Creation",
-               "Animal Friendship",
-               "Stone Tell",
-               "Wall of Stone",
-               "Protect from Corrosion",
-
-               "Earthquake",
-               "Cyclone",
-               "Blizzard",
-               "Lightning Storm",
-               "Whirlpool",
-               "Call Sunlight",
-               "Elemental Branding",
-               "Nature's Wrath",
-       },
-
-       /*** Chaos Spells ***/
-
-       {
-               /* Common Chaos Spellbooks */
-               "Magic Missile",
-               "Trap / Door Destruction",
-               "Flash of Light",
-               "Touch of Confusion",
-               "Mana Burst",
-               "Fire Bolt",
-               "Fist of Force",
-               "Teleport Self",
-
-               "Wonder",
-               "Chaos Bolt",
-               "Sonic Boom",
-               "Doom Bolt",
-               "Fire Ball",
-               "Teleport Other",
-               "Word of Destruction",
-               "Invoke Logrus",
-
-               /* Rare Chaos Spellbooks */
-               "Polymorph Other",
-               "Chain Lightning",
-               "Arcane Binding",
-               "Disintegrate",
-               "Alter Reality",
-               "Magic Rocket",
-               "Chaos Branding",
-               "Summon Demon",
-
-               "Beam of Gravity",
-               "Meteor Swarm",
-               "Flame Strike",
-               "Call Chaos",
-               "Polymorph Self",
-               "Mana Storm",
-               "Breathe Logrus",
-               "Call the Void",
-       },
-
-       /*** Death Spells ***/
-
-       {
-               /* Common Death Spellbooks */
-               "Detect Unlife",
-               "Malediction",
-               "Detect Evil",
-               "Stinking Cloud",
-               "Black Sleep",
-               "Resist Poison",
-               "Horrify",
-               "Enslave Undead",
-
-               "Orb of Entropy",
-               "Nether Bolt",
-               "Cloud kill",
-               "Genocide One",
-               "Poison Branding",
-               "Vampiric Drain",
-               "Animate dead",
-               "Genocide",
-
-               /* Rare Death Spellbooks */
-               "Berserk",
-               "Invoke Spirits",
-               "Dark Bolt",
-               "Battle Frenzy",
-               "Vampiric Branding",
-               "Vampirism True",
-               "Nether Wave",
-               "Darkness Storm",
-
-               "Death Ray",
-               "Raise the Dead",
-               "Esoteria",
-               "Polymorph Vampire",
-               "Restore Life",
-               "Mass Genocide",
-               "Hellfire",
-               "Wraithform",
-       },
-
-       /*** Trump Spells ***/
-
-       {
-               /* Common Trump Spellbooks */
-               "Phase Door",
-               "Trump Spiders",
-               "Shuffle",
-               "Reset Recall",
-               "Teleport",
-               "Trump Spying",
-               "Teleport Away",
-               "Trump Animals",
-
-               "Trump Reach",
-               "Trump Kamikaze",
-               "Phantasmal Servant",
-               "Haste Monster",
-               "Teleport Level",
-               "Dimension Door",
-               "Word of Recall",
-               "Banish",
-
-               /* Rare Trump Spellbooks */
-               "Swap Position",
-               "Trump Undead",
-               "Trump Reptiles",
-               "Trump Monsters",
-               "Trump Hounds",
-               "Trump Branding",
-               "Living Trump",
-               "Trump Cyberdemon",
-
-               "Trump Divination",
-               "Trump Lore",
-               "Heal Monster",
-               "Trump Dragon",
-               "Trump Meteor",
-               "Trump Demon",
-               "Trump Greater Undead",
-               "Trump Ancient Dragon",
-       },
-
-       /*** Arcane Spells (_only_ common spells) ***/
-
-       {
-               "Zap",
-               "Wizard Lock",
-               "Detect Invisibility",
-               "Detect Monsters",
-               "Blink",
-               "Light Area",
-               "Trap & Door Destruction",
-               "Cure Light Wounds",
-
-               "Detect Doors & Traps",
-               "Phlogiston",
-               "Detect Treasure",
-               "Detect Enchantment",
-               "Detect Objects",
-               "Cure Poison",
-               "Resist Cold",
-               "Resist Fire",
-
-               "Resist Lightning",
-               "Resist Acid",
-               "Cure Medium Wounds",
-               "Teleport",
-               "Identify",
-               "Stone to Mud",
-               "Ray of Light",
-               "Satisfy Hunger",
-
-               "See Invisible",
-               "Conjure Elemental",
-               "Teleport Level",
-               "Teleport Away",
-               "Elemental Ball",
-               "Detection",
-               "Word of Recall",
-               "Clairvoyance",
-       },
-
-       /*** Craft Spells ***/
-
-       {
-               /* Common Craft Spellbooks */
-               "Infravision",
-               "Regeneration",
-               "Satisfy Hunger",
-               "Resist Cold",
-               "Resist Fire",
-               "Heroism",
-               "Resist Lightning",
-               "Resist Acid",
-
-               "See Invisibility",
-               "Remove Curse",
-               "Resist Poison",
-               "Berserk",
-               "Self Knowledge",
-               "Protection from Evil",
-               "Cure",
-               "Mana Branding",
-
-               /* Rare Craft Spellbooks */
-               "Telepathy",
-               "Stone Skin",
-               "Resistance",
-               "Haste Self",
-               "Walk through Wall",
-               "Polish Shield",
-               "Create Golem",
-               "Magical armor",
-
-               "Remove Enchantment",
-               "Remove All Curse",
-               "Knowledge True", /* "Total Knowledge", */
-               "Enchant Weapon",
-               "Enchant Armor",
-               "Brand Weapon",
-               "Living Trump",
-               "Immunity",
-       },
-
-       /*** Daemon Spells ***/
-
-       {
-               /* Common Daemon Spellbooks */
-               "Magic Missile",
-               "Detect Unlife",
-               "Evil Bless",
-               "Resist Fire",
-               "Horrify",
-               "Nether Bolt",
-               "Summon Manes",
-               "Hellish Flame",
-
-               "Dominate Demon",
-               "Vision",
-               "Resist Nether",
-               "Plasma bolt",
-               "Fire Ball",
-               "Fire Branding",
-               "Nether Ball",
-               "Summon Demon",
-
-               /* Rare Daemon Spellbooks */
-               "Devilish Eye",
-               "Devil Cloak",
-               "The Flow of Lava",
-               "Plasma Ball",
-               "Polymorph Demon",
-               "Nather Wave",
-               "Kiss of Succubus",
-               "Doom Hand",
-
-               "Raise the Morale",
-               "Immortal Body",
-               "Insanity Circle",
-               "Explode Pets",
-               "Summon Greater Demon",
-               "Nether Storm",
-               "Bloody Curse",
-               "Polymorph Demonlord",
-       },
-
-       /*** Crusade Spells ***/
-
-       {
-               /* Common Crusade Spellbooks */
-               "Punishment",
-               "Detect Evil",
-               "Remove Fear",
-               "Scare Monster",
-               "Sanctuary",
-               "Portal",
-               "Star Dust",
-               "Purify",
-
-               "Scatter Evil",
-               "Holy Orb",
-               "Exorcism",
-               "Remove Curse",
-               "Sense Unseen",
-               "Protection from Evil",
-               "Judgment Thunder",
-               "Holy Word",
-
-               /* Rare Crusade Spellbooks */
-               "Unbarring Ways",
-               "Arrest",
-               "Holy Aura",
-               "Dispel Undead & Demons",
-               "Dispel Evil",
-               "Holy Blade",
-               "Star Burst",
-               "Summon Angel",
-
-               "Heroism",
-               "Dispel Curse",
-               "Banish Evil",
-               "Armageddon",
-               "An Eye for an Eye",
-               "Wrath of the God",
-               "Divine Intervention",
-               "Crusade",
-       },
-
-       /*** Music Spells ***/
-
-       {
-               /******* Apprentice Handbook *******/
-               "Song of Holding",
-               "Song of Blessing",
-               "Wrecking Note",
-               "Stun Pattern",
-               "Flow of Life",
-               "Song of the Sun",
-               "Song of Fear", /* ¶²ÉݤβΠ*/
-               "Heroic Ballad",
-
-               /******* Minstrel's Music *******/
-               "Clairaudience",
-               "Soul Shriek", /* º²¤Î²Î */
-               "Song of Lore",
-               "Hiding Tune", /* "±£ÆۤβÎ", */
-               "Illusion Pattern",
-               "Doomcall",
-               "Firiel's Song",
-               "Fellowship Chant", /* "ι¤ÎÃç´Ö" */
-
-               /******* Harps of Rivendell *******/
-               "Sound of disintegration", /* Ê¬²ò²»ÇÈ */
-               "Finrod's Resistance", /* ¸µÁÇÂÑÀ­ */
-               "Hobbit Melodies", /* ¥Û¥Ó¥Ã¥È¤Î¥á¥í¥Ç¥£ */
-               "World Contortion", /* ÏĤó¤ÀÀ¤³¦ */
-               "Dispelling chant", /* Â໶¤Î²Î */
-               "The Voice of Saruman", /* ¥µ¥ë¥Þ¥ó¤Î´Å¸À */
-               "Song of the Tempest", /* Íò¤Î²»¿§ */
-               "Ambarkanta", /* ¤â¤¦°ì¤Ä¤ÎÀ¤³¦ */
-
-               /******* Lays of Beleriand *******/
-               "Wrecking Pattern", /* Ç˲õ¤ÎÀûΧ */
-               "Stationary Shriek", /* ÄäÂڤβΠ*/
-               "Endurance", /* ¼é¤ê¤Î²Î */
-               "The Hero's Poem", /* ±Ñͺ¤Î»í */
-               "Relief of Yavanna", /* "¥ä¥ô¥¡¥ó¥Ê¤Î½õ¤±" */
-               "Goddess' rebirth", /* "ºÆÀ¸¤Î²Î" */
-               "Wizardry of Sauron", /* "¥µ¥¦¥í¥ó¤ÎËâ½Ñ", */
-               "Fingolfin's Challenge", /* "¥Õ¥£¥ó¥´¥ë¥Õ¥£¥ó¤ÎÄ©Àï", */
-       },
-
-       /*** Hissatsuwaza ***/
-       {
-               "Tobi-Izuna",
-               "3-Way Attack",
-               "Boomerang",
-               "Burning Strike",
-               "Detect Ferocity",
-               "Strike to Stun",
-               "Counter",
-               "Harainuke",
-
-               "Serpent's Tongue",
-               "Zammaken",
-               "Wind Blast",
-               "Judge",
-               "Rock Smash",
-               "Midare-Setsugekka",
-               "Spot Aiming",
-               "Majingiri",
-
-               "Desperate Attack",
-               "Lightning Eagle",
-               "Rush Attack",
-               "Bloody Maelstrom",
-               "Earthquake Blow",
-               "Crack",
-               "War Cry",
-               "Musou-Sandan",
-
-               "Vampire's Fang",
-               "Moon Dazzling",
-               "Hundred Slaughter",
-               "Dragonic Flash",
-               "Twin Slash",
-               "Kofuku-Zettousei",
-               "Keiun-Kininken",
-               "Harakiri",
-       },
-};
-#endif
 
 /*
  * Each chest has a certain set of traps, determined by pval
@@ -5236,7 +4233,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "±Ñͺ",
                "Ã˼ß",
                "Çì¼ß",
-               "Îμç",
+               "·¯¼ç",
        },
 
        /* Mage */
@@ -5278,9 +4275,9 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "¥Ú¥Æ¥ó»Õ",                     /*ÇîÅÌ¡¢¥Ú¥Æ¥ó»Õ¡¢º¾µ½»Õ */
                "¥í¥¦¥·¡¼¥Õ",
                "¥Ï¥¤¥·¡¼¥Õ",
-               "¥Þ¥¹¥¿¡¼¥·¡¼¥Õ",
+               "¥Þ¥¹¥¿¡¼", /* "¥Þ¥¹¥¿¡¼¥·¡¼¥Õ", */
                "¥¢¥µ¥·¥ó",                                             /* °Å»¦¼Ô */
-               "¥®¥ë¥É¥Þ¥¹¥¿¡¼",
+               "ƬÎÎ", /*"¥®¥ë¥É¥Þ¥¹¥¿¡¼",*/
        },
 
        /* Rangers */
@@ -5308,7 +4305,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "½Åµ³»Î",
                "À»µ³»Î",
                "¾åµéÀ»µ³»Î",
-               "À»µ³»ÎĹ",
+               "À»µ³»ÎÃÄĹ",
        },
 
        /* Warrior-Mage */
@@ -5323,7 +4320,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "ËâÃ˼ß",
                /* "Ëâ¸ø¼ß", */
                "ÀïÆ®Ëâ½Ñ»Î",
-               "¥¦¥£¥¶¡¼¥É¥í¡¼¥É",
+               "Ãμ±¤Î¼é¸î¼Ô", /* "¥¦¥£¥¶¡¼¥É¥í¡¼¥É", */
        },
 
        /* Chaos Warrior */
@@ -5365,7 +4362,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "¥µ¥¤¥­¥Ã¥¯",
                "¥µ¥¤¥ª¥Ë¥Ã¥¯",
                "ĶǽÎϼÔ",
-               "¥Þ¥¤¥ó¥É¥Þ¥¹¥¿¡¼",
+               "Àº¿À¤Î»ÙÇÛ¼Ô", /* "¥Þ¥¤¥ó¥É¥Þ¥¹¥¿¡¼", */
        },
 
        /* High Mage; same as Mage */
@@ -5494,7 +4491,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "ËâÃ˼ß",
                /* "Ëâ¸ø¼ß", */
                "ÀïÆ®Ëâ½Ñ»Î",
-               "¥¦¥£¥¶¡¼¥É¥í¡¼¥É",
+               "Ãμ±¤Î¼é¸î¼Ô", /* "¥¦¥£¥¶¡¼¥É¥í¡¼¥É", */
        },
 
        /* Samurai */
@@ -5829,7 +4826,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "Soldier",
                "Mercenary",
                "Veteran",
-               "Swordsman",
+               "Bowman",
                "Champion",
                "Hero",
                "Baron",
@@ -5966,14 +4963,14 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
        /* Mirror Master */
        {
                "Mirrorstarer",
-               "Mirrorpolisher",
+               "Mirrorcleaner",
                "Mirrormaker",
                "Mirrormagician",
-               "Guru of Mirror ",
+               "Mirror Guru",
                "Mirror Mage",
                "Mirror King",
-               "Mirror Emperror",
-               "Avatar of Mirror",
+               "Mirror Emperor",
+               "Mirror Avatar",
                "Ruffnor King",
        },
 
@@ -6195,6 +5192,44 @@ monster_power monster_powers[MAX_MONSPELLS] =
 };
 
 
+cptr monster_powers_short[MAX_MONSPELLS] = {
+#ifdef JP
+
+       "¶«¤Ö", "²¿¤«", "ËâÎϾõî", "¥í¥±¥Ã¥È", "¼Í·â", "²¿¤«", "²¿¤«", "²¿¤«",
+       "»À", "ÅÅ·â", "²Ð±ê", "Î䵤", "ÆÇ", "ÃϹö", "Á®¸÷", "°Å¹õ",
+       "º®Íð", "¹ì²»", "¥«¥ª¥¹", "Îô²½", "°ø²Ìº®Íð", "»þ´ÖµÕž", "ÃÙÆß", "½ÅÎÏ",
+       "ÇËÊÒ", "¥×¥é¥º¥Þ", "¥Õ¥©¡¼¥¹", "ËâÎÏ", "Êü¼Íǽµå", "Êü¼ÍÀ­ÇÑ´þʪ", "½ã¥í¥°¥ë¥¹", "ʬ²ò",
+
+       "»À", "ÅÅ·â", "²Ð±ê", "Î䵤", "°­½­±À", "ÃϹöµå", "¥¦¥©¡¼¥¿¡¼", "ËâÎϤÎÍò",
+       "°Å¹õ¤ÎÍò", "ËâÎϵۼý", "Àº¿À¹¶·â", "Ǿ¹¶·â", "·Ú½ý", "½Å½ý", "Ã×Ì¿½ý", "È빦¤òÆͤ¯",
+       "»À", "ÅÅ·â", "²Ð±ê", "Î䵤", "¥¹¥¿¡¼¥Ð¡¼¥¹¥È", "ÃϹö¤ÎÌð", "¥¦¥©¡¼¥¿¡¼", "ËâÎϤÎÌð",
+       "¥×¥é¥º¥Þ", "¶Ë´¨", "¥Þ¥¸¥Ã¥¯¥ß¥µ¥¤¥ë", "¶²¹²", "ÌÕÌÜ", "º®Íð", "¸ºÂ®", "¿ç̲",
+
+       "²Ã®", "ÇËÌǤμê", "ÂÎÎϲóÉü", "̵½ý¤Îµå", "¥·¥ç¡¼¥È¥Æ¥ì¥Ý¡¼¥È", "¥Æ¥ì¥Ý¡¼¥È", "»þ¤ò»ß¤á¤ë", "²¿¤«",
+       "°ú¤­¤è¤»¤ë", "¥Æ¥ì¥Ý¡¼¥È¥¢¥¦¥§¥¤", "¥Æ¥ì¥Ý¡¼¥È¥ì¥Ù¥ë", "¸÷¤Î·õ", "°Å°Ç", "¥È¥é¥Ã¥×ÁϤ", "µ­²±ÁÓ¼º", "»à¼ÔÉü³è",
+       "±ç·³", "¥µ¥¤¥Ð¡¼¥Ç¡¼¥â¥ó", "¥â¥ó¥¹¥¿¡¼", "Ê£¿ô¤Î¥â¥ó¥¹¥¿¡¼", "µÂ", "ÃØéá", "¥Ï¥¦¥ó¥É", "¥Ò¥É¥é",
+       "Å·»È", "°­Ëâ", "¥¢¥ó¥Ç¥Ã¥É", "¥É¥é¥´¥ó", "¾åµé¥¢¥ó¥Ç¥Ã¥É", "¸ÅÂå¥É¥é¥´¥ó", "¥¢¥ó¥Ð¡¼¤Î²¦Â²", "¥æ¥Ë¡¼¥¯"
+
+#else
+
+       "Shriek", "Something", "Dispel-magic", "Rocket", "Arrow", "Arrows", "Missile", "Missiles",
+       "Acid", "Lightning", "Fire", "Cold", "Poison", "Nether", "Light", "Dark",
+       "Confusion", "Sound", "Chaos", "Disenchantment", "Nexus", "Time", "Inertia", "Gravity",
+       "Shards", "Plasma", "Force", "Mana", "Nuke", "Nuke", "Logrus", "Disintergrate",
+
+       "Acid", "Lightning", "Fire", "Frost", "Stinking Cloud", "Nether", "Water", "Mana storm",
+       "Darkness storm", "Drain mana", "Mind blast", "Brain smash", "Cause Light Wound", "Cause Serious Wound", "Cause Critical Wound", "Cause Mortal Wound",
+       "Acid", "Lightning", "Fire", "Frost", "Starburst", "Nether", "Water", "Mana",
+       "Plasm", "Ice", "Magic missile", "Scare", "Blind", "Confuse", "Slow", "Sleep",
+
+       "Speed", "Hand of doom", "Heal-self", "Invulnerable", "Blink", "Teleport", "The world", "Something",
+       "Teleport to", "Teleport away", "Teleport level", "Psycho-spear", "Create darkness", "Create traps", "Amnesia", "Raise dead",
+       "Aid", "Cyberdeamons", "A monster", "Monsters", "Ants", "Spiders", "Hounds", "Hydras",
+       "Angel", "Daemon", "Undead", "Dragon", "Greater Undead", "Ancient Dragon", "Lords of Amber", "Unique monsters"
+
+#endif
+};
+
 
 /*
  * Hack -- the "basic" color names (see "TERM_xxx")
@@ -6387,1076 +5422,939 @@ option_type option_info[] =
        /*** Input Options ***/
 
 #ifdef JP
-       { &rogue_like_commands,         FALSE, 1, 0, 0,
+       { &rogue_like_commands,         FALSE, OPT_PAGE_INPUT, 0, 0,
        "rogue_like_commands",          "¥í¡¼¥°É÷¥­¡¼ÇÛÃÖ¤ò»ÈÍѤ¹¤ë" },
 #else
-       { &rogue_like_commands,         FALSE, 1, 0, 0,
+       { &rogue_like_commands,         FALSE, OPT_PAGE_INPUT, 0, 0,
        "rogue_like_commands",          "Rogue-like commands" },
 #endif
 
-
 #ifdef JP
-       { &always_pickup,               FALSE, 1, 0, 5,
+       { &always_pickup,               FALSE, OPT_PAGE_INPUT, 0, 5,
        "always_pickup",                "¾ï¤Ë¥¢¥¤¥Æ¥à¤ò½¦¤¦" },
 #else
-       { &always_pickup,               FALSE,  1, 0, 5,
+       { &always_pickup,               FALSE, OPT_PAGE_INPUT, 0, 5,
        "always_pickup",                "Pick things up by default" },
 #endif
 
-
 #ifdef JP
-       { &carry_query_flag,            FALSE, 1, 0, 3,
-       "carry_query_flag",  "¥¢¥¤¥Æ¥à¤ò½¦¤¦Á°¤Ë³Îǧ¤¹¤ë" },
+       { &carry_query_flag,            FALSE, OPT_PAGE_INPUT, 0, 3,
+       "carry_query_flag",             "¥¢¥¤¥Æ¥à¤ò½¦¤¦Á°¤Ë³Îǧ¤¹¤ë" },
 #else
-       { &carry_query_flag,            FALSE, 1, 0, 3,
+       { &carry_query_flag,            FALSE, OPT_PAGE_INPUT, 0, 3,
        "carry_query_flag",             "Prompt before picking things up" },
 #endif
 
-
 #ifdef JP
-       { &quick_messages,              TRUE,  1, 0, 1,
-     "quick_messages",  "¥¯¥¤¥Ã¥¯¡¦¥á¥Ã¥»¡¼¥¸¤ò»ÈÍѤ¹¤ë" },
+       { &quick_messages,              TRUE,  OPT_PAGE_INPUT, 0, 1,
+       "quick_messages",               "¥¯¥¤¥Ã¥¯¡¦¥á¥Ã¥»¡¼¥¸¤ò»ÈÍѤ¹¤ë" },
 #else
-       { &quick_messages,              TRUE,  1, 0, 1,
+       { &quick_messages,              TRUE,  OPT_PAGE_INPUT, 0, 1,
        "quick_messages",               "Activate quick messages" },
 #endif
 
-
 #ifdef JP
-       { &auto_more,                   FALSE, 1, 2, 6,
+       { &auto_more,                   FALSE, OPT_PAGE_INPUT, 2, 6,
        "auto_more",                    "¥­¡¼ÂÔ¤Á¤·¤Ê¤¤¤ÇϢ³¤Ç¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë" },
 #else
-       { &auto_more,                   FALSE, 1, 2, 6,
+       { &auto_more,                   FALSE, OPT_PAGE_INPUT, 2, 6,
        "auto_more",                    "Automatically clear '-more-' prompts" },
 #endif
 
-
 #ifdef JP
-       { &command_menu,                TRUE,  1, 2, 7,
+       { &command_menu,                TRUE,  OPT_PAGE_INPUT, 2, 7,
        "command_menu",                 "¥á¥Ë¥å¡¼¤Ë¤è¤ê¥³¥Þ¥ó¥ÉÁªÂò¤òÍ­¸ú¤Ë¤¹¤ë" },
 #else
-       { &command_menu,                TRUE,  1, 2, 7,
+       { &command_menu,                TRUE,  OPT_PAGE_INPUT, 2, 7,
        "command_menu",                 "Enable command selection menu" },
 #endif
 
-
 #ifdef JP
-       { &other_query_flag,            FALSE, 1, 0, 2,
+       { &other_query_flag,            FALSE, OPT_PAGE_INPUT, 0, 2,
        "other_query_flag",             "¾²¾å¤Î¥¢¥¤¥Æ¥à¤ò»ÈÍѤ¹¤ë¤È¤­¤Ë³Îǧ¤¹¤ë" },
 #else
-       { &other_query_flag,            FALSE, 1, 0, 2,
+       { &other_query_flag,            FALSE, OPT_PAGE_INPUT, 0, 2,
        "other_query_flag",             "Prompt for floor item selection" },
 #endif
 
-
 #ifdef JP
-       { &use_old_target,              FALSE, 1, 0, 4,
-     "use_old_target",  "¾ï¤Ë°ÊÁ°¤Î¥¿¡¼¥²¥Ã¥È¤ò»ØÄꤹ¤ë" },
+       { &use_old_target,              FALSE, OPT_PAGE_INPUT, 0, 4,
+       "use_old_target",               "¾ï¤Ë°ÊÁ°¤Î¥¿¡¼¥²¥Ã¥È¤ò»ØÄꤹ¤ë" },
 #else
-       { &use_old_target,              FALSE, 1, 0, 4,
+       { &use_old_target,              FALSE, OPT_PAGE_INPUT, 0, 4,
        "use_old_target",               "Use old target by default" },
 #endif
 
-
 #ifdef JP
-       { &always_repeat,               TRUE,  1, 0, 6,
+       { &always_repeat,               TRUE,  OPT_PAGE_INPUT, 0, 6,
        "always_repeat",                "¥³¥Þ¥ó¥É¼«Æ°·«¤êÊÖ¤·" },
 #else
-       { &always_repeat,               TRUE,  1, 0, 6,
+       { &always_repeat,               TRUE,  OPT_PAGE_INPUT, 0, 6,
        "always_repeat",                "Repeat obvious commands" },
 #endif
 
-
 #ifdef JP
-       { &confirm_destroy,             FALSE, 1, 5, 3,
+       { &confirm_destroy,             FALSE, OPT_PAGE_INPUT, 5, 3,
        "confirm_destroy",              "¡Ö̵²ÁÃ͡פʥ¢¥¤¥Æ¥à¤òÇ˲õ¤¹¤ë»þ³Îǧ¤¹¤ë" },
 #else
-       { &confirm_destroy,             FALSE, 1, 5, 3,
+       { &confirm_destroy,             FALSE, OPT_PAGE_INPUT, 5, 3,
        "confirm_destroy",              "Prompt for destruction of known worthless items" },
 #endif
 
-
 #ifdef JP
-       { &confirm_wear,                TRUE, 1, 5, 4,
+       { &confirm_wear,                TRUE,  OPT_PAGE_INPUT, 5, 4,
        "confirm_wear",                 "¼ö¤ï¤ì¤¿Êª¤òÁõÈ÷¤¹¤ë»þ³Îǧ¤¹¤ë" },
 #else
-       { &confirm_wear,                TRUE, 1, 5, 4,
+       { &confirm_wear,                TRUE,  OPT_PAGE_INPUT, 5, 4,
        "confirm_wear",                 "Confirm to wear/wield known cursed items" },
 #endif
 
-
 #ifdef JP
-       { &confirm_quest,               TRUE, 1, 1, 9,
+       { &confirm_quest,               TRUE,  OPT_PAGE_INPUT, 1, 9,
        "confirm_quest",                "¥¯¥¨¥¹¥È¤òÄü¤á¤Æ³¬ÃʤÇƨ¤²¤ëÁ°¤Ë³Îǧ¤¹¤ë" },
 #else
-       { &confirm_quest,               TRUE, 1, 1, 9,
+       { &confirm_quest,               TRUE,  OPT_PAGE_INPUT, 1, 9,
        "confirm_quest",                "Prompt before exiting a quest level" },
 #endif
 
-
 #ifdef JP
-       { &target_pet,                  FALSE,  1, 2, 5,
+       { &target_pet,                  FALSE, OPT_PAGE_INPUT, 2, 5,
        "target_pet",                   "¥Ú¥Ã¥È¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤¹¤ë" },
 #else
-       { &target_pet,                  FALSE,  1, 2, 5,
+       { &target_pet,                  FALSE, OPT_PAGE_INPUT, 2, 5,
        "target_pet",                   "Allow targetting pets" },
 #endif
 
-
 #ifdef ALLOW_EASY_OPEN
 #ifdef JP
-       { &easy_open,                   TRUE,  1, 5, 7,
+       { &easy_open,                   TRUE,  OPT_PAGE_INPUT, 5, 7,
        "easy_open",                    "¼«Æ°Åª¤Ë¥É¥¢¤ò³«¤±¤ë" },
 #else
-       { &easy_open,                   TRUE,  1, 5, 7,
+       { &easy_open,                   TRUE,  OPT_PAGE_INPUT, 5, 7,
        "easy_open",                    "Automatically open doors" },
 #endif
 #endif /* ALLOW_EASY_OPEN */
 
-
 #ifdef ALLOW_EASY_DISARM
 #ifdef JP
-       { &easy_disarm,                 TRUE,  1, 5, 8,
+       { &easy_disarm,                 TRUE,  OPT_PAGE_INPUT, 5, 8,
        "easy_disarm",                  "¼«Æ°Åª¤Ë櫤ò²ò½ü¤¹¤ë" },
 #else
-       { &easy_disarm,                 TRUE,  1, 5, 8,
+       { &easy_disarm,                 TRUE,  OPT_PAGE_INPUT, 5, 8,
        "easy_disarm",                  "Automatically disarm traps" },
 #endif
 #endif /* ALLOW_EASY_DISARM */
 
-
 #ifdef ALLOW_EASY_FLOOR /* TNB */
 #ifdef JP
-       { &easy_floor,                  FALSE, 1, 5, 9,
+       { &easy_floor,                  FALSE, OPT_PAGE_INPUT, 5, 9,
        "easy_floor",                   "¾²¾å¤Ç½Å¤Ê¤Ã¤¿¥¢¥¤¥Æ¥à¤ò¥ê¥¹¥È¤¹¤ë" },
 #else
-       { &easy_floor,                  FALSE, 1, 5, 9,
+       { &easy_floor,                  FALSE, OPT_PAGE_INPUT, 5, 9,
        "easy_floor",                   "Display floor stacks in a list" },
 #endif
 #endif /* ALLOW_EASY_FLOOR -- TNB */
 
-
 #ifdef JP
-       { &use_command,                 FALSE, 1, 5, 10,
+       { &use_command,                 FALSE, OPT_PAGE_INPUT, 5, 10,
        "use_command",                  "¡Ö»È¤¦(a)¡×¥³¥Þ¥ó¥É¤Ç¥¢¥¤¥Æ¥à¤ò²¿¤Ç¤â»È¤¨¤ë" },
 #else
-       { &use_command,                 FALSE, 1, 5, 10,
+       { &use_command,                 FALSE, OPT_PAGE_INPUT, 5, 10,
        "use_command",                  "Allow unified use command" },
 #endif
 
-
 #ifdef JP
-       { &over_exert,                  FALSE,  1, 0, 29,
+       { &over_exert,                  FALSE, OPT_PAGE_INPUT, 0, 29,
        "over_exert",                   "MP¤¬Â­¤ê¤Ê¤¯¤Æ¤âËâË¡¤ËÄ©À魯¤ë" },
 #else
-       { &over_exert,                  FALSE,  1, 0, 29,
+       { &over_exert,                  FALSE, OPT_PAGE_INPUT, 0, 29,
        "over_exert",                   "Allow casting spells when short of mana" },
 #endif
 
-
-       /*** Output Options ***/
-
 #ifdef JP
-       { &depth_in_feet,               FALSE, 2, 0, 7,
-       "depth_in_feet",                "¥À¥ó¥¸¥ç¥ó¤Î¿¼¤µ¤ò¥Õ¥£¡¼¥È¤Çɽ¼¨¤¹¤ë" },
+       { &numpad_as_cursorkey,         TRUE, OPT_PAGE_INPUT, 2, 31,
+       "numpad_as_cursorkey",          "¥¨¥Ç¥£¥¿Æâ¤Ç¥Æ¥ó¥­¡¼¤ò¥«¡¼¥½¥ë¥­¡¼¤È¤·¤Æ»È¤¦" },
 #else
-       { &depth_in_feet,               FALSE, 2, 0, 7,
-       "depth_in_feet",                "Show dungeon level in feet" },
+       { &numpad_as_cursorkey,         TRUE, OPT_PAGE_INPUT, 2, 31,
+       "numpad_as_cursorkey",          "Use numpad keys as cursor keys in editor mode" },
 #endif
 
+       /*** Map Screen Options ***/
 
 #ifdef JP
-       { &show_labels,                 TRUE,  2, 0, 10,
-       "show_labels",                  "ÁõÈ÷°ìÍ÷¤ÇÁõÈ÷¾ì½ê¤òɽ¼¨¤¹¤ë" },
+       { &center_player,               FALSE, OPT_PAGE_MAPSCREEN, 5, 11,
+       "center_player",                "¾ï¤Ë¥×¥ì¥¤¥ä¡¼¤òÃæ¿´¤ËÃÖ¤¯(*ÃÙ¤¤*)" },
 #else
-       { &show_labels,                 TRUE,  2, 0, 10,
-       "show_labels",                  "Show labels in object listings" },
+       { &center_player,               FALSE, OPT_PAGE_MAPSCREEN, 5, 11,
+       "center_player",                "Center map while walking (*slow*)" },
 #endif
 
-
 #ifdef JP
-       { &show_weights,                TRUE,  2, 0, 11,
-       "show_weights",                 "¥¢¥¤¥Æ¥à°ìÍ÷¤Ç½ÅÎ̤òɽ¼¨¤¹¤ë" },
+       { &center_running,              TRUE,  OPT_PAGE_MAPSCREEN, 5, 12,
+       "center_running",               "Áö¤Ã¤Æ¤¤¤ë»þ¤Ç¤âÃæ¿´¤ËÃÖ¤¯" },
 #else
-       { &show_weights,                TRUE,  2, 0, 11,
-       "show_weights",                 "Show weights in object listings" },
+       { &center_running,              TRUE,  OPT_PAGE_MAPSCREEN, 5, 12,
+       "center_running",               "Centering even while running" },
 #endif
 
-
 #ifdef JP
-       { &show_item_graph,             TRUE,  2, 2, 0,
-       "show_item_graph",              "¥¢¥¤¥Æ¥à¤Î¥·¥ó¥Ü¥ë¤òɽ¼¨¤¹¤ë" },
+       { &view_yellow_lite,            TRUE,  OPT_PAGE_MAPSCREEN, 1, 28,
+       "view_yellow_lite",             "ÌÀ¤«¤ê¤ÎÈϰϤòÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë" },
 #else
-       { &show_item_graph,             TRUE,  2, 2, 0,
-       "show_item_graph",              "Show items graphics" },
+       { &view_yellow_lite,            TRUE,  OPT_PAGE_MAPSCREEN, 1, 28,
+       "view_yellow_lite",             "Use special colors for torch-lit grids" },
 #endif
 
-
 #ifdef JP
-       { &show_choices,                TRUE,  2, 0, 12,
-       "show_choices",                 "»ý¤Áʪ/ÁõÈ÷¥¦¥£¥ó¥É¥¦¤ËÁªÂò¥¢¥¤¥Æ¥àɽ¼¨" },
+       { &view_bright_lite,            TRUE,  OPT_PAGE_MAPSCREEN, 1, 29,
+       "view_bright_lite",             "»ë³¦¤ÎÈϰϤòÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë" },
 #else
-       { &show_choices,                TRUE,  2, 0, 12,
-       "show_choices",                 "Show choices in certain sub-windows" },
+       { &view_bright_lite,            TRUE,  OPT_PAGE_MAPSCREEN, 1, 29,
+       "view_bright_lite",             "Use special colors for 'viewable' grids" },
 #endif
 
-
 #ifdef JP
-       { &plain_pickup,                FALSE, 2, 6, 6,
-       "plain_pickup",                 "¡Ö½¦¤Ã¤¿¡×¥á¥Ã¥»¡¼¥¸¤ò´Êά²½¤¹¤ë" },
+       { &view_granite_lite,           TRUE,  OPT_PAGE_MAPSCREEN, 1, 30,
+       "view_granite_lite",            "ÊɤòÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë(½Å¤¤)" },
 #else
-       { &plain_pickup,                FALSE,99, 6, 6,
-       "plain_pickup",                 "Plain pickup messages(japanese only)" },
+       { &view_granite_lite,           TRUE,  OPT_PAGE_MAPSCREEN, 1, 30,
+       "view_granite_lite",            "Use special colors for wall grids (slow)" },
 #endif
 
-
 #ifdef JP
-       { &player_symbols,              FALSE, 2, 1, 13,
-       "player_symbols",               "¥×¥ì¥¤¥ä¡¼¤òÆÃÊ̤ʵ­¹æ¤Çɽ¼¨¤¹¤ë"},
+       { &view_special_lite,           TRUE,  OPT_PAGE_MAPSCREEN, 1, 31,
+       "view_special_lite",            "¾²¤òÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë(½Å¤¤)" },
 #else
-       { &player_symbols,              FALSE, 2, 1, 13,
-       "player_symbols",               "Use special symbols for the player char"},
+       { &view_special_lite,           TRUE,  OPT_PAGE_MAPSCREEN, 1, 31,
+       "view_special_lite",            "Use special colors for floor grids (slow)" },
 #endif
 
-
 #ifdef JP
-       { &equippy_chars,               TRUE,  2, 1, 12,
-       "equippy_chars",                "¥¹¥Æ¡¼¥¿¥¹¤Ëʸ»ú¤ÇÁõÈ÷¤òɽ¼¨¤¹¤ë" },
+       { &view_perma_grids,            TRUE,  OPT_PAGE_MAPSCREEN, 1, 6,
+       "view_perma_grids",             "ÌÀ¤ë¤¤¾ì½ê¤Ï¤½¤Î¤Þ¤Þ¤Ë¤¹¤ë" },
 #else
-       { &equippy_chars,               TRUE,  2, 1, 12,
-       "equippy_chars",                "Display 'equippy' chars" },
+       { &view_perma_grids,            TRUE,  OPT_PAGE_MAPSCREEN, 1, 6,
+       "view_perma_grids",             "Map remembers all perma-lit grids" },
 #endif
 
-
 #ifdef JP
-       { &display_mutations,              FALSE, 2, 5, 0,
-       "display_mutations",               "'C'¥³¥Þ¥ó¥É¤ÇÆÍÁ³ÊÑ°Û¤òɽ¼¨¤¹¤ë" },
+       { &view_torch_grids,            FALSE, OPT_PAGE_MAPSCREEN, 1, 7,
+       "view_torch_grids",             "ÌÀ¤«¤ê¤Ç¾È¤é¤·¤¿¾ì½ê¤Ï¤½¤Î¤Þ¤Þ¤Ë¤¹¤ë" },
 #else
-       { &display_mutations,              FALSE, 2, 5, 0,
-       "display_mutations",               "Display mutations in 'C'haracter Display" },
+       { &view_torch_grids,            FALSE, OPT_PAGE_MAPSCREEN, 1, 7,
+       "view_torch_grids",             "Map remembers all torch-lit grids" },
 #endif
 
-
 #ifdef JP
-       { &plain_descriptions,          TRUE, 2, 5, 1,
-       "plain_descriptions",           "¥¢¥¤¥Æ¥à¤Îµ­½Ò¤ò´Êά¤Ë¤¹¤ë" },
+       { &view_unsafe_grids,           FALSE, OPT_PAGE_MAPSCREEN, 1, 8,
+       "view_unsafe_grids",            "¥È¥é¥Ã¥×´¶ÃκѤߤǤʤ¤¾ì½ê¤òɽ¼¨¤¹¤ë" },
 #else
-       { &plain_descriptions,          TRUE, 2, 5, 1,
-       "plain_descriptions",           "Plain object descriptions" },
+       { &view_unsafe_grids,           FALSE, OPT_PAGE_MAPSCREEN, 1, 8,
+       "view_unsafe_grids",            "Map marked by detect traps" },
 #endif
 
-
 #ifdef JP
-       { &center_player,               FALSE, 2, 5, 11,
-       "center_player",                "¾ï¤Ë¥×¥ì¥¤¥ä¡¼¤òÃæ¿´¤ËÃÖ¤¯(*ÃÙ¤¤*)" },
+       { &view_reduce_view,            FALSE, OPT_PAGE_MAPSCREEN, 1, 17,
+       "view_reduce_view",             "³¹¤Ç¤Ï»ëÌî¤ò¶¹¤¯¤¹¤ë" },
 #else
-       { &center_player,               FALSE, 2, 5, 11,
-       "center_player",                "Center map while walking (*slow*)" },
+       { &view_reduce_view,            FALSE, OPT_PAGE_MAPSCREEN, 1, 17,
+       "view_reduce_view",             "Reduce view-radius in town" },
 #endif
 
-
 #ifdef JP
-       { &center_running,              TRUE,  2, 5, 12,
-       "center_running",               "Áö¤Ã¤Æ¤¤¤ë»þ¤Ç¤âÃæ¿´¤ËÃÖ¤¯" },
+       { &fresh_before,                TRUE,  OPT_PAGE_MAPSCREEN, 1, 23,
+       "fresh_before",                 "Ϣ³¥³¥Þ¥ó¥ÉÃæ¤Ë²èÌ̤òºÆÉÁ²è¤·Â³¤±¤ë" },
 #else
-       { &center_running,              TRUE,  2, 5, 12,
-       "center_running",               "Centering even while running" },
+       { &fresh_before,                TRUE,  OPT_PAGE_MAPSCREEN, 1, 23,
+       "fresh_before",                 "Flush output while continuous command" },
 #endif
 
-
 #ifdef JP
-       { &view_yellow_lite,            TRUE,  2, 1, 28,
-       "view_yellow_lite",              "ÌÀ¤«¤ê¤ÎÈϰϤòÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë" },
+       { &fresh_after,                 FALSE, OPT_PAGE_MAPSCREEN, 1, 24,
+       "fresh_after",                  "¥³¥Þ¥ó¥É¸å¤Ë²èÌ̤ò¾ï¤ËºÆÉÁ²è¤·Â³¤±¤ë" },
 #else
-       { &view_yellow_lite,            TRUE,  2, 1, 28,
-       "view_yellow_lite",             "Use special colors for torch-lit grids" },
+       { &fresh_after,                 FALSE, OPT_PAGE_MAPSCREEN, 1, 24,
+       "fresh_after",                  "Flush output after monster's move" },
 #endif
 
-
 #ifdef JP
-       { &view_bright_lite,            TRUE,  2, 1, 29,
-       "view_bright_lite",             "»ë³¦¤ÎÈϰϤòÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë" },
+       { &fresh_message,               FALSE, OPT_PAGE_MAPSCREEN, 1, 25,
+       "fresh_message",                "¥á¥Ã¥»¡¼¥¸¤Î¸å¤Ë²èÌ̤òºÆÉÁ²è¤¹¤ë" },
 #else
-       { &view_bright_lite,            TRUE,  2, 1, 29,
-       "view_bright_lite",             "Use special colors for 'viewable' grids" },
+       { &fresh_message,               FALSE, OPT_PAGE_MAPSCREEN, 1, 25,
+       "fresh_message",                "Flush output after every message" },
 #endif
 
-
 #ifdef JP
-       { &view_granite_lite,           TRUE,  2, 1, 30,
-       "view_granite_lite",            "ÊɤòÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë(½Å¤¤)" },
+       { &hilite_player,               FALSE, OPT_PAGE_MAPSCREEN, 1, 27,
+       "hilite_player",                "¥×¥ì¥¤¥ä¡¼¤Ë¥«¡¼¥½¥ë¤ò¹ç¤ï¤»¤ë" },
 #else
-       { &view_granite_lite,           TRUE,  2, 1, 30,
-       "view_granite_lite",            "Use special colors for wall grids (slow)" },
+       { &hilite_player,               FALSE, OPT_PAGE_MAPSCREEN, 1, 27,
+       "hilite_player",                "Hilite the player with the cursor" },
 #endif
 
-
 #ifdef JP
-       { &view_special_lite,           TRUE,  2, 1, 31,
-       "view_special_lite",            "¾²¤òÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë(½Å¤¤)" },
+       { &display_path,                FALSE, OPT_PAGE_MAPSCREEN, 2, 8,
+       "display_path",                 "ËâË¡¤äÌð¤Îµ°Àפòɽ¼¨¤¹¤ë" },
 #else
-       { &view_special_lite,           TRUE,  2, 1, 31,
-       "view_special_lite",            "Use special colors for floor grids (slow)" },
+       { &display_path,                FALSE, OPT_PAGE_MAPSCREEN, 2, 8,
+       "display_path",                 "Display actual path before shooting" },
 #endif
 
+       /*** Text Display Options ***/
+
 #ifdef JP
-       { &new_ascii_graphics,          FALSE, 2, 2, 4,
-       "new_ascii_graphics",           "ÃÏ·Á¤ÎÌÀ°Å¤ò¤Ï¤Ã¤­¤ê¤Èɽ¼¨¤¹¤ë" },
+       { &plain_descriptions,          TRUE,  OPT_PAGE_TEXT, 5, 1,
+       "plain_descriptions",           "¥¢¥¤¥Æ¥à¤Îµ­½Ò¤ò´Êά¤Ë¤¹¤ë" },
 #else
-       { &new_ascii_graphics,          FALSE, 2, 2, 4,
-       "new_ascii_graphics",           "Show a clear contrast between light and dark" },
+       { &plain_descriptions,          TRUE,  OPT_PAGE_TEXT, 5, 1,
+       "plain_descriptions",           "Plain object descriptions" },
 #endif
 
 #ifdef JP
-       { &display_path,                FALSE, 2, 2, 8,
-       "display_path",                 "ËâË¡¤äÌð¤Îµ°Àפòɽ¼¨¤¹¤ë" },
+       { &plain_pickup,                FALSE, OPT_PAGE_TEXT, 6, 6,
+       "plain_pickup",                 "¡Ö½¦¤Ã¤¿¡×¥á¥Ã¥»¡¼¥¸¤ò´Êά²½¤¹¤ë" },
 #else
-       { &display_path,                FALSE, 2, 2, 8,
-       "display_path",                 "Display actual path before shooting" },
+       { &plain_pickup,                FALSE, OPT_PAGE_JAPANESE_ONLY, 6, 6,
+       "plain_pickup",                 "Plain pickup messages(japanese only)" },
 #endif
 
-
 #ifdef JP
-       { &always_show_list,            TRUE,  2, 4, 0,
+       { &always_show_list,            TRUE,  OPT_PAGE_TEXT, 4, 0,
        "always_show_list",             "ÁªÂò»þ¤Ë¤Ï¾ï¤Ë°ìÍ÷¤òɽ¼¨¤¹¤ë" },
 #else
-       { &always_show_list,            TRUE,  2, 4, 0,
-       "always_show_list",             "Always show list at first when select items" },
+       { &always_show_list,            TRUE,  OPT_PAGE_TEXT, 4, 0,
+       "always_show_list",             "Always show list when choosing items" },
 #endif
 
-
 #ifdef JP
-       { &change_numeral,              TRUE,  2, 4, 5,
-       "change_numeral",               "¥¢¥¤¥Æ¥à¤Î¼ïÎà¤Ë¤è¤Ã¤Æ¿ô¤¨Êý¤òÊѤ¨¤ë" },
+       { &depth_in_feet,               FALSE, OPT_PAGE_TEXT, 0, 7,
+       "depth_in_feet",                "¥À¥ó¥¸¥ç¥ó¤Î¿¼¤µ¤ò¥Õ¥£¡¼¥È¤Çɽ¼¨¤¹¤ë" },
 #else
-       { &change_numeral,              TRUE,  99, 4, 5,
-       "change_numeral",               "Change a way to counting (japanese only)" },
+       { &depth_in_feet,               FALSE, OPT_PAGE_TEXT, 0, 7,
+       "depth_in_feet",                "Show dungeon level in feet" },
 #endif
 
-
-       /*** Game-Play ***/
-
 #ifdef JP
-       { &auto_scum,                   FALSE, 3, 1, 1,
-       "auto_scum",                    "³¬¤ÎÊ·°Ïµ¤¼«Æ°Áª¤ê¹¥¤ß" },
+       { &show_labels,                 TRUE,  OPT_PAGE_TEXT, 0, 10,
+       "show_labels",                  "ÁõÈ÷°ìÍ÷¤ÇÁõÈ÷¾ì½ê¤òɽ¼¨¤¹¤ë" },
 #else
-       { &auto_scum,                   FALSE, 3, 1, 1,
-       "auto_scum",                    "Auto-scum for good levels" },
+       { &show_labels,                 TRUE,  OPT_PAGE_TEXT, 0, 10,
+       "show_labels",                  "Show labels in object listings" },
 #endif
 
-
 #ifdef JP
-       { &stack_force_notes,           TRUE,  3, 0, 8,
-       "stack_force_notes",            "°Û¤Ê¤ëÌäΥ¢¥¤¥Æ¥à¤ò¤Þ¤È¤á¤ë" },
+       { &show_weights,                TRUE,  OPT_PAGE_TEXT, 0, 11,
+       "show_weights",                 "¥¢¥¤¥Æ¥à°ìÍ÷¤Ç½ÅÎ̤òɽ¼¨¤¹¤ë" },
 #else
-       { &stack_force_notes,           TRUE,  3, 0, 8,
-       "stack_force_notes",            "Merge inscriptions when stacking" },
+       { &show_weights,                TRUE,  OPT_PAGE_TEXT, 0, 11,
+       "show_weights",                 "Show weights in object listings" },
 #endif
 
-
 #ifdef JP
-       { &stack_force_costs,           FALSE, 3, 0, 9,
-       "stack_force_costs",            "°Û¤Ê¤ë³ä°úɽ¼¨¤Î¥¢¥¤¥Æ¥à¤ò¤Þ¤È¤á¤ë" },
+       { &show_item_graph,             TRUE,  OPT_PAGE_TEXT, 2, 0,
+       "show_item_graph",              "¥¢¥¤¥Æ¥à¤Î¥·¥ó¥Ü¥ë¤òɽ¼¨¤¹¤ë" },
 #else
-       { &stack_force_costs,           FALSE, 3, 0, 9,
-       "stack_force_costs",            "Merge discounts when stacking" },
+       { &show_item_graph,             TRUE,  OPT_PAGE_TEXT, 2, 0,
+       "show_item_graph",              "Show items graphics" },
 #endif
 
-
 #ifdef JP
-       { &stack_allow_items,           TRUE,  3, 1, 2,
-       "stack_allow_items",            "Ʊ¼ï¤ÎÉð´ï¤äËɶñ¤ò¤Þ¤È¤á¤ë" },
+       { &equippy_chars,               TRUE,  OPT_PAGE_TEXT, 1, 12,
+       "equippy_chars",                "¥¹¥Æ¡¼¥¿¥¹¤Ëʸ»ú¤ÇÁõÈ÷¤òɽ¼¨¤¹¤ë" },
 #else
-       { &stack_allow_items,           TRUE,  3, 1, 2,
-       "stack_allow_items",            "Allow weapons and armor to stack" },
+       { &equippy_chars,               TRUE,  OPT_PAGE_TEXT, 1, 12,
+       "equippy_chars",                "Display 'equippy' chars" },
 #endif
 
+#ifdef JP
+       { &display_mutations,           FALSE, OPT_PAGE_TEXT, 5, 0,
+       "display_mutations",            "'C'¥³¥Þ¥ó¥É¤ÇÆÍÁ³ÊÑ°Û¤òɽ¼¨¤¹¤ë" },
+#else
+       { &display_mutations,           FALSE, OPT_PAGE_TEXT, 5, 0,
+       "display_mutations",            "Display mutations in 'C'haracter Display" },
+#endif
 
 #ifdef JP
-       { &expand_look,                 TRUE,  3, 1, 4,
-       "expand_look",                  "¡Ö²ó¤ê¤òÄ´¤Ù¤ë¡×¥³¥Þ¥ó¥É¤ò³ÈÄ¥¤¹¤ë" },
+       { &compress_savefile,           FALSE, OPT_PAGE_TEXT, 1, 26,
+       "compress_savefile",            "¥»¡¼¥Ö¡¦¥Õ¥¡¥¤¥ëÃæ¤Î¥á¥Ã¥»¡¼¥¸¤ò°µ½Ì¤¹¤ë" },
 #else
-       { &expand_look,                 TRUE,  3, 1, 4,
-       "expand_look",                  "Expand the power of the look command" },
+       { &compress_savefile,           FALSE, OPT_PAGE_TEXT, 1, 26,
+       "compress_savefile",            "Compress messages in savefiles" },
 #endif
 
+#ifdef JP
+       { &abbrev_extra,                FALSE, OPT_PAGE_TEXT, 2, 10,
+       "abbrev_extra",                 "¥¢¥¤¥Æ¥à¤ËÄɲÃÂÑÀ­/ǽÎϤÎά¾Î¤ò¹ï¤à" },
+#else
+       { &abbrev_extra,                FALSE, OPT_PAGE_TEXT, 2, 10,
+       "abbrev_extra",                 "Describe obj's extra resistances by abbreviation" },
+#endif
 
 #ifdef JP
-       { &expand_list,                 TRUE,  3, 1, 5,
-       "expand_list",                  "¡Ö°ìÍ÷¡×¥³¥Þ¥ó¥É¤ò³ÈÄ¥¤¹¤ë" },
+       { &abbrev_all,                  FALSE, OPT_PAGE_TEXT, 2, 11,
+       "abbrev_all",                   "¥¢¥¤¥Æ¥à¤ËÁ´¤Æ¤ÎÂÑÀ­/ǽÎϤÎά¾Î¤ò¹ï¤à" },
 #else
-       { &expand_list,                 TRUE,  3, 1, 5,
-       "expand_list",                  "Expand the power of the list commands" },
+       { &abbrev_all,                  FALSE, OPT_PAGE_TEXT, 2, 11,
+       "abbrev_all",                   "Describe obj's all resistances by abbreviation" },
 #endif
 
+#ifdef JP
+       { &exp_need,                    FALSE, OPT_PAGE_TEXT, 2, 12,
+       "exp_need",                     "¼¡¤Î¥ì¥Ù¥ë¤ËɬÍפʷи³Ãͤòɽ¼¨¤¹¤ë" },
+#else
+       { &exp_need,                    FALSE, OPT_PAGE_TEXT, 2, 12,
+       "exp_need",                     "Show the experience needed for next level" },
+#endif
 
 #ifdef JP
-       { &view_perma_grids,            TRUE,  3, 1, 6,
-       "view_perma_grids",             "ÌÀ¤ë¤¤¾ì½ê¤Ï¤½¤Î¤Þ¤Þ¤Ë¤¹¤ë" },
+       { &ignore_unview,               FALSE, OPT_PAGE_TEXT, 2, 13,
+       "ignore_unview",                "»ë³¦³°¤Î¥â¥ó¥¹¥¿¡¼¤Î¹ÔÆ°¤òɽ¼¨¤·¤Ê¤¤" },
 #else
-       { &view_perma_grids,            TRUE,  3, 1, 6,
-       "view_perma_grids",             "Map remembers all perma-lit grids" },
+       { &ignore_unview,               FALSE, OPT_PAGE_TEXT, 2, 13,
+       "ignore_unview",                "Ignore whenever any monster does" },
 #endif
 
+       /*** Game-Play ***/
 
 #ifdef JP
-       { &view_torch_grids,            FALSE, 3, 1, 7,
-       "view_torch_grids",             "ÌÀ¤«¤ê¤Ç¾È¤é¤·¤¿¾ì½ê¤Ï¤½¤Î¤Þ¤Þ¤Ë¤¹¤ë" },
+       { &stack_force_notes,           TRUE,  OPT_PAGE_GAMEPLAY, 0, 8,
+       "stack_force_notes",            "°Û¤Ê¤ëÌäΥ¢¥¤¥Æ¥à¤ò¤Þ¤È¤á¤ë" },
 #else
-       { &view_torch_grids,            FALSE, 3, 1, 7,
-       "view_torch_grids",             "Map remembers all torch-lit grids" },
+       { &stack_force_notes,           TRUE,  OPT_PAGE_GAMEPLAY, 0, 8,
+       "stack_force_notes",            "Merge inscriptions when stacking" },
 #endif
 
-
 #ifdef JP
-       { &view_unsafe_grids,            FALSE, 3, 1, 8,
-       "view_unsafe_grids",             "¥È¥é¥Ã¥×´¶ÃκѤߤǤʤ¤¾ì½ê¤òɽ¼¨¤¹¤ë" },
+       { &stack_force_costs,           FALSE, OPT_PAGE_GAMEPLAY, 0, 9,
+       "stack_force_costs",            "°Û¤Ê¤ë³ä°úɽ¼¨¤Î¥¢¥¤¥Æ¥à¤ò¤Þ¤È¤á¤ë" },
 #else
-       { &view_unsafe_grids,            FALSE, 3, 1, 8,
-       "view_unsafe_grids",             "Map marked by detect traps" },
+       { &stack_force_costs,           FALSE, OPT_PAGE_GAMEPLAY, 0, 9,
+       "stack_force_costs",            "Merge discounts when stacking" },
 #endif
 
+#ifdef JP
+       { &expand_list,                 TRUE,  OPT_PAGE_GAMEPLAY, 1, 5,
+       "expand_list",                  "¡Ö°ìÍ÷¡×¥³¥Þ¥ó¥É¤ò³ÈÄ¥¤¹¤ë" },
+#else
+       { &expand_list,                 TRUE,  OPT_PAGE_GAMEPLAY, 1, 5,
+       "expand_list",                  "Expand the power of the list commands" },
+#endif
 
 #ifdef JP
-       { &small_levels,                TRUE,  3, 0, 30,
+       { &small_levels,                TRUE,  OPT_PAGE_GAMEPLAY, 0, 30,
        "small_levels",                 "Èó¾ï¤Ë¾®¤µ¤¤¥Õ¥í¥¢¤ÎÀ¸À®¤ò²Äǽ¤Ë¤¹¤ë" },
 #else
-       { &small_levels,                TRUE,  3, 0, 30,
+       { &small_levels,                TRUE,  OPT_PAGE_GAMEPLAY, 0, 30,
        "small_levels",                 "Allow unusually small dungeon levels" },
 #endif
 
-
 #ifdef JP
-       { &always_small_levels,         FALSE, 3, 2, 3,
+       { &always_small_levels,         FALSE, OPT_PAGE_GAMEPLAY, 2, 3,
        "always_small_levels",          "¾ï¤ËÈó¾ï¤Ë¾®¤µ¤¤¥Õ¥í¥¢¤òÀ¸À®¤¹¤ë" },
 #else
-       { &always_small_levels,         FALSE, 3, 2, 3,
+       { &always_small_levels,         FALSE, OPT_PAGE_GAMEPLAY, 2, 3,
        "always_small_levels",          "Always create unusually small dungeon levels" },
 #endif
 
-
 #ifdef JP
-       { &empty_levels,                TRUE,  3, 0, 31,
+       { &empty_levels,                TRUE,  OPT_PAGE_GAMEPLAY, 0, 31,
        "empty_levels",                 "¶õ¤Ã¤Ý¤Î¡Ö¥¢¥ê¡¼¥Ê¡×¥ì¥Ù¥ë¤ÎÀ¸À®¤ò²Äǽ¤Ë¤¹¤ë" },
 #else
-       { &empty_levels,                TRUE,  3, 0, 31,
+       { &empty_levels,                TRUE,  OPT_PAGE_GAMEPLAY, 0, 31,
        "empty_levels",                 "Allow empty 'arena' levels" },
 #endif
 
+#ifdef JP
+       { &bound_walls_perm,            FALSE, OPT_PAGE_GAMEPLAY, 2, 1,
+       "bound_walls_perm",             "¥À¥ó¥¸¥ç¥ó¤Î³°Êɤò±Êµ×´ä¤Ë¤¹¤ë" },
+#else
+       { &bound_walls_perm,            FALSE, OPT_PAGE_GAMEPLAY, 2, 1,
+       "bound_walls_perm",             "Boundary walls become 'permanent wall'" },
+#endif
 
 #ifdef JP
-       { &last_words,                  TRUE, 3, 0, 28,
+       { &last_words,                  TRUE,  OPT_PAGE_GAMEPLAY, 0, 28,
        "last_words",                   "¥­¥ã¥é¥¯¥¿¡¼¤¬»à¤ó¤À»þ°ä¸À¤ò¤Î¤³¤¹" },
 #else
-       { &last_words,                  TRUE, 3, 0, 28,
+       { &last_words,                  TRUE,  OPT_PAGE_GAMEPLAY, 0, 28,
        "last_words",                   "Leave last words when your character dies" },
 #endif
 
-
 #ifdef WORLD_SCORE
 #ifdef JP
-       { &send_score,                  TRUE,  3, 4, 6,
+       { &send_score,                  TRUE,  OPT_PAGE_GAMEPLAY, 4, 6,
        "send_score",                   "¥¹¥³¥¢¥µ¡¼¥Ð¤Ë¥¹¥³¥¢¤òÁ÷¤ë" },
 #else
-       { &send_score,                  TRUE,  3, 4, 6,
+       { &send_score,                  TRUE,  OPT_PAGE_GAMEPLAY, 4, 6,
        "send_score",                   "Send score dump to the world score server" },
 #endif
 #endif
 
-
 #ifdef JP
-       { &allow_debug_opts,            FALSE, 3, 6, 11,
+       { &allow_debug_opts,            FALSE, OPT_PAGE_GAMEPLAY, 6, 11,
        "allow_debug_opts",             "¥Ç¥Ð¥Ã¥°/º¾µ½¥ª¥×¥·¥ç¥ó¤òµö²Ä¤¹¤ë" },
 #else
-       { &allow_debug_opts,            FALSE, 3, 6, 11,
+       { &allow_debug_opts,            FALSE, OPT_PAGE_GAMEPLAY, 6, 11,
        "allow_debug_opts",             "Allow use of debug/cheat options" },
 #endif
 
-
-
-
        /*** Disturbance ***/
 
 #ifdef JP
-       { &find_ignore_stairs,          FALSE, 4, 0, 16,
+       { &find_ignore_stairs,          FALSE, OPT_PAGE_DISTURBANCE, 0, 16,
        "find_ignore_stairs",           "³¬ÃʤÏÄ̲᤹¤ë" },
 #else
-       { &find_ignore_stairs,          FALSE, 4, 0, 16,
+       { &find_ignore_stairs,          FALSE, OPT_PAGE_DISTURBANCE, 0, 16,
        "find_ignore_stairs",           "Run past stairs" },
 #endif
 
-
 #ifdef JP
-       { &find_ignore_doors,           TRUE,  4, 0, 17,
+       { &find_ignore_doors,           TRUE,  OPT_PAGE_DISTURBANCE, 0, 17,
        "find_ignore_doors",            "¥É¥¢¤ÏÄ̲᤹¤ë" },
 #else
-       { &find_ignore_doors,           TRUE,  4, 0, 17,
+       { &find_ignore_doors,           TRUE,  OPT_PAGE_DISTURBANCE, 0, 17,
        "find_ignore_doors",            "Run through open doors" },
 #endif
 
-
 #ifdef JP
-       { &find_cut,                    FALSE, 4, 0, 18,
+       { &find_cut,                    FALSE, OPT_PAGE_DISTURBANCE, 0, 18,
        "find_cut",                     "¶Ê¤ê³Ñ¤ò¼Ð¤á¤ËºÇûµ÷Î¥¤ÇÄ̲᤹¤ë" },
 #else
-       { &find_cut,                    FALSE, 4, 0, 18,
+       { &find_cut,                    FALSE, OPT_PAGE_DISTURBANCE, 0, 18,
        "find_cut",                     "Run past known corners" },
 #endif
 
+#ifdef JP
+       { &check_abort,                 TRUE,  OPT_PAGE_DISTURBANCE, 1, 18,
+       "check_abort",                  "Ϣ³¥³¥Þ¥ó¥É¤Ï¥­¡¼ÆþÎϤÇÃæÃǤ¹¤ë" },
+#else
+       { &check_abort,                 TRUE,  OPT_PAGE_DISTURBANCE, 1, 18,
+       "check_abort",                  "Check for user abort while continuous command" },
+#endif
 
 #ifdef JP
-       { &find_examine,                TRUE,  4, 0, 19,
-       "find_examine",                 "ÄÌÏ©¤¬°Å¤¤»þ¤Ë¤Ê¤ë¤Ù¤¯¶Ê¤ê³Ñ¤È²¾Äꤷ¤ÆÄ̲᤹¤ë" },
+       { &flush_failure,               TRUE,  OPT_PAGE_DISTURBANCE, 1, 20,
+       "flush_failure",                "ÍÍ¡¹¤Ê¥ß¥¹È¯À¸»þ¤ËÆþÎϤò¥¯¥ê¥¢¤¹¤ë" },
 #else
-       { &find_examine,                TRUE,  4, 0, 19,
-       "find_examine",                 "Run into potential corners" },
+       { &flush_failure,               TRUE,  OPT_PAGE_DISTURBANCE, 1, 20,
+       "flush_failure",                "Flush input on various failures" },
 #endif
 
+#ifdef JP
+       { &flush_disturb,               FALSE, OPT_PAGE_DISTURBANCE, 1, 21,
+       "flush_disturb",                "¾ã³²È¯À¸»þ¤ËÆþÎϤò¥¯¥ê¥¢¤¹¤ë" },
+#else
+       { &flush_disturb,               FALSE, OPT_PAGE_DISTURBANCE, 1, 21,
+       "flush_disturb",                "Flush input whenever disturbed" },
+#endif
 
 #ifdef JP
-       { &disturb_move,                FALSE,  4, 0, 20,
+       { &disturb_move,                FALSE, OPT_PAGE_DISTURBANCE, 0, 20,
        "disturb_move",                 "¤É¤³¤Î¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤Æ¤â¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &disturb_move,                FALSE,  4, 0, 20,
+       { &disturb_move,                FALSE, OPT_PAGE_DISTURBANCE, 0, 20,
        "disturb_move",                 "Disturb whenever any monster moves" },
 #endif
 
-
 #ifdef JP
-       { &disturb_high,                FALSE,  4, 1, 3,
-       "disturb_high",                 "¥ì¥Ù¥ë¤Î¹â¤¤¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë"},
+       { &disturb_high,                FALSE, OPT_PAGE_DISTURBANCE, 1, 3,
+       "disturb_high",                 "¥ì¥Ù¥ë¤Î¹â¤¤¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &disturb_high,                FALSE,  4, 1, 3,
+       { &disturb_high,                FALSE, OPT_PAGE_DISTURBANCE, 1, 3,
        "disturb_high",                 "Disturb whenever high-level monster moves" },
 #endif
 
-
 #ifdef JP
-       { &disturb_near,                TRUE,  4, 0, 21,
+       { &disturb_near,                TRUE,  OPT_PAGE_DISTURBANCE, 0, 21,
        "disturb_near",                 "»ë³¦Æâ¤Î¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &disturb_near,                TRUE,  4, 0, 21,
+       { &disturb_near,                TRUE,  OPT_PAGE_DISTURBANCE, 0, 21,
        "disturb_near",                 "Disturb whenever viewable monster moves" },
 #endif
 
-
 #ifdef JP
-       { &disturb_pets,                FALSE, 4, 5, 6,
+       { &disturb_pets,                FALSE, OPT_PAGE_DISTURBANCE, 5, 6,
        "disturb_pets",                 "»ë³¦Æâ¤Î¥Ú¥Ã¥È¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &disturb_pets,                FALSE, 4, 5, 6,
+       { &disturb_pets,                FALSE, OPT_PAGE_DISTURBANCE, 5, 6,
        "disturb_pets",                 "Disturb when visible pets move" },
 #endif
 
-
 #ifdef JP
-       { &disturb_panel,               TRUE,  4, 0, 22,
+       { &disturb_panel,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 22,
        "disturb_panel",                "²èÌÌ¥¹¥¯¥í¡¼¥ë»þ¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &disturb_panel,               TRUE,  4, 0, 22,
+       { &disturb_panel,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 22,
        "disturb_panel",                "Disturb whenever map panel changes" },
 #endif
 
-
 #ifdef JP
-       { &disturb_state,               TRUE,  4, 0, 23,
+       { &disturb_state,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 23,
        "disturb_state",                "¼«Ê¬¤Î¥¹¥Æ¡¼¥¿¥¹ÊѲ½»þ¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &disturb_state,               TRUE,  4, 0, 23,
+       { &disturb_state,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 23,
        "disturb_state",                "Disturb whenever player state changes" },
 #endif
 
-
 #ifdef JP
-       { &disturb_minor,               TRUE,  4, 0, 24,
+       { &disturb_minor,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 24,
        "disturb_minor",                "º³ºÙ¤Ê¤³¤È¤¬µ¯¤­¤Æ¤â¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &disturb_minor,               TRUE,  4, 0, 24,
+       { &disturb_minor,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 24,
        "disturb_minor",                "Disturb whenever boring things happen" },
 #endif
 
-
 #ifdef JP
-       { &ring_bell,                   FALSE, 4, 0, 14,
+       { &ring_bell,                   FALSE, OPT_PAGE_DISTURBANCE, 0, 14,
        "ring_bell",                    "¥¨¥é¡¼»þ¤Ë¥Ó¡¼¥×²»¤òÌĤ餹" },
 #else
-       { &ring_bell,                   FALSE, 4, 0, 14,
+       { &ring_bell,                   FALSE, OPT_PAGE_DISTURBANCE, 0, 14,
        "ring_bell",                    "Audible bell (on errors, etc)" },
 #endif
 
-
-#ifdef JP
-       { &alert_hitpoint,              TRUE, 4, 0, 26,
-       "alert_hitpoint",               "Äã¥Ò¥Ã¥È¥Ý¥¤¥ó¥È¤Î·Ù¹ð»þ¤Ë¥Ó¡¼¥×¤òÌĤ餹" },
-#else
-       { &alert_hitpoint,              TRUE, 4, 0, 26,
-       "alert_hitpoint",               "Alert user to critical hitpoints" },
-#endif
-
-
 #ifdef JP
-       { &disturb_trap_detect,         TRUE, 4, 0, 27,
+       { &disturb_trap_detect,         TRUE,  OPT_PAGE_DISTURBANCE, 0, 27,
        "disturb_trap_detect",          "¥È¥é¥Ã¥×´¶ÃÎÈϰϳ°¤Ë½Ð¤ëľÁ°¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &disturb_trap_detect,         TRUE, 4, 0, 27,
-       "disturb_trap_detect",          "Disturb when leaving trap detected area"},
+       { &disturb_trap_detect,         TRUE,  OPT_PAGE_DISTURBANCE, 0, 27,
+       "disturb_trap_detect",          "Disturb when leaving trap detected area" },
 #endif
 
 #ifdef JP
-       { &alert_trap_detect,           FALSE, 4, 0, 25,
+       { &alert_trap_detect,           FALSE, OPT_PAGE_DISTURBANCE, 0, 25,
        "alert_trap_detect",            "¥È¥é¥Ã¥×´¶ÃÎÈϰϳ°¤Ë½Ð¤ëľÁ°¤Ë·Ù¹ð¤¹¤ë" },
 #else
-       { &alert_trap_detect,           FALSE, 4, 0, 25,
-       "alert_trap_detect",            "Alert when leaving trap detected area"},
-#endif
-
-
-       /*** Efficiency ***/
-
-#ifdef JP
-       { &view_reduce_lite,            FALSE, 5, 1, 16,
-     "view_reduce_lite",  "Áö¤Ã¤Æ¤¤¤ë¤È¤­¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¸º¾¯¤¹¤ë" },
-#else
-       { &view_reduce_lite,            FALSE, 5, 1, 16,
-       "view_reduce_lite",             "Reduce lite-radius when running" },
-#endif
-
-
-#ifdef JP
-       { &view_reduce_view,            FALSE, 5, 1, 17,
-       "view_reduce_view",             "³¹¤Ç¤Ï»ëÌî¤ò¶¹¤¯¤¹¤ë" },
-#else
-       { &view_reduce_view,            FALSE, 5, 1, 17,
-       "view_reduce_view",             "Reduce view-radius in town" },
-#endif
-
-
-#ifdef JP
-       { &check_abort,                 TRUE,  5, 1, 18,
-       "check_abort",                  "Ϣ³¥³¥Þ¥ó¥É¤Ï¥­¡¼ÆþÎϤÇÃæÃǤ¹¤ë" },
-#else
-       { &check_abort,                 TRUE,  5, 1, 18,
-       "check_abort",                  "Check for user abort while continuous command" },
-#endif
-
-
-#ifdef JP
-       { &flush_failure,               TRUE,  5, 1, 20,
-       "flush_failure",                "ÍÍ¡¹¤Ê¥ß¥¹È¯À¸»þ¤ËÆþÎϤò¥¯¥ê¥¢¤¹¤ë" },
-#else
-       { &flush_failure,               TRUE,  5, 1, 20,
-       "flush_failure",                "Flush input on various failures" },
+       { &alert_trap_detect,           FALSE, OPT_PAGE_DISTURBANCE, 0, 25,
+       "alert_trap_detect",            "Alert when leaving trap detected area" },
 #endif
 
-
-#ifdef JP
-       { &flush_disturb,               FALSE, 5, 1, 21,
-       "flush_disturb",                "¾ã³²È¯À¸»þ¤ËÆþÎϤò¥¯¥ê¥¢¤¹¤ë" },
-#else
-       { &flush_disturb,               FALSE, 5, 1, 21,
-       "flush_disturb",                "Flush input whenever disturbed" },
-#endif
-
-
-#ifdef JP
-       { &fresh_before,                TRUE,  5, 1, 23,
-       "fresh_before",                 "Ϣ³¥³¥Þ¥ó¥ÉÃæ¤Ë²èÌ̤òºÆÉÁ²è¤·Â³¤±¤ë" },
-#else
-       { &fresh_before,                TRUE,  5, 1, 23,
-       "fresh_before",                 "Flush output while continuous command" },
-#endif
-
-
-#ifdef JP
-       { &fresh_after,                 FALSE, 5, 1, 24,
-       "fresh_after",                  "¥³¥Þ¥ó¥É¸å¤Ë²èÌ̤ò¾ï¤ËºÆÉÁ²è¤·Â³¤±¤ë" },
-#else
-       { &fresh_after,                 FALSE, 5, 1, 24,
-       "fresh_after",                  "Flush output after monster's move" },
-#endif
-
-
-#ifdef JP
-       { &fresh_message,               FALSE, 5, 1, 25,
-       "fresh_message",                "¥á¥Ã¥»¡¼¥¸¤Î¸å¤Ë²èÌ̤òºÆÉÁ²è¤¹¤ë" },
-#else
-       { &fresh_message,               FALSE, 5, 1, 25,
-       "fresh_message",                "Flush output after every message" },
-#endif
-
-
-#ifdef JP
-       { &compress_savefile,           FALSE, 5, 1, 26,
-       "compress_savefile",            "¥»¡¼¥Ö¡¦¥Õ¥¡¥¤¥ëÃæ¤Î¥á¥Ã¥»¡¼¥¸¤ò°µ½Ì¤¹¤ë" },
-#else
-       { &compress_savefile,           FALSE, 5, 1, 26,
-       "compress_savefile",            "Compress messages in savefiles" },
-#endif
-
-
-#ifdef JP
-       { &hilite_player,               FALSE,  5, 1, 27,
-       "hilite_player",                "¥×¥ì¥¤¥ä¡¼¤Ë¥«¡¼¥½¥ë¤ò¹ç¤ï¤»¤ë" },
-#else
-       { &hilite_player,               FALSE,  5, 1, 27,
-       "hilite_player",                "Hilite the player with the cursor" },
-#endif
-
-
        /*** Birth Options ***/
 
 #ifdef JP
-       { &manual_haggle,               FALSE, 6, 1, 0,
+       { &manual_haggle,               FALSE, OPT_PAGE_BIRTH, 1, 0,
        "manual_haggle",                "Ź¤ÇÃÍÀÚ¤ê¸ò¾Ä¤ò¤¹¤ë" },
 #else
-       { &manual_haggle,               FALSE, 6, 1, 0,
+       { &manual_haggle,               FALSE, OPT_PAGE_BIRTH, 1, 0,
        "manual_haggle",                "Manually haggle in stores" },
 #endif
 
-
 #ifdef JP
-       { &easy_band,                   FALSE, 6, 6, 31,
+       { &easy_band,                   FALSE, OPT_PAGE_BIRTH, 6, 31,
        "easy_band",                    "½é¿´¼ÔÍÑ´Êñ¥â¡¼¥É(*)" },
 #else
-       { &easy_band,                   FALSE, 6, 6, 31,
+       { &easy_band,                   FALSE, OPT_PAGE_BIRTH, 6, 31,
        "easy_band",                    "Easy Mode (*)" },
 #endif
 
-
 #ifdef JP
-       { &smart_learn,                 TRUE,  6, 1, 14,
+       { &smart_learn,                 TRUE,  OPT_PAGE_BIRTH, 1, 14,
        "smart_learn",                  "¥â¥ó¥¹¥¿¡¼¤Ï¼ºÇÔ¤ò³Ø½¬¤¹¤ë(*)" },
 #else
-       { &smart_learn,                 TRUE,  6, 1, 14,
+       { &smart_learn,                 TRUE,  OPT_PAGE_BIRTH, 1, 14,
        "smart_learn",                  "Monsters learn from their mistakes (*)" },
 #endif
 
-
 #ifdef JP
-       { &smart_cheat,                 FALSE, 6, 1, 15,
+       { &smart_cheat,                 FALSE, OPT_PAGE_BIRTH, 1, 15,
        "smart_cheat",                  "¥â¥ó¥¹¥¿¡¼¤Ï¥×¥ì¥¤¥ä¡¼¤Î¼å¤ß¤òÆͤ¯(*)" },
 #else
-       { &smart_cheat,                 FALSE, 6, 1, 15,
+       { &smart_cheat,                 FALSE, OPT_PAGE_BIRTH, 1, 15,
        "smart_cheat",                  "Monsters exploit players weaknesses (*)" },
 #endif
 
-
 #ifdef JP
-       { &vanilla_town,                FALSE, 6, 6, 0,
+       { &vanilla_town,                FALSE, OPT_PAGE_BIRTH, 6, 0,
        "vanilla_town",                 "¸µÁĤγ¹/¥¯¥¨¥¹¥È¤È¹ÓÌî¤Ê¤·" },
 #else
-       { &vanilla_town,                FALSE, 6, 6, 0,
+       { &vanilla_town,                FALSE, OPT_PAGE_BIRTH, 6, 0,
        "vanilla_town",                 "Use 'vanilla' town without quests and wilderness" },
 #endif
 
-
 #ifdef JP
-       { &lite_town,                   FALSE, 6, 6, 1,
+       { &lite_town,                   FALSE, OPT_PAGE_BIRTH, 6, 1,
        "lite_town",                    "¾®µ¬ÌϤʳ¹/¹ÓÌî¤Ê¤·" },
 #else
-       { &lite_town,                   FALSE, 6, 6, 1,
+       { &lite_town,                   FALSE, OPT_PAGE_BIRTH, 6, 1,
        "lite_town",                    "Use 'lite' town without a wilderness" },
 #endif
 
-
 #ifdef JP
-       { &ironman_shops,               FALSE, 6, 6, 2,
-       "ironman_shops",                "¡ÊÅ´¿ÍÍÑ¡ËŹ¤ò»ÈÍѤ·¤Ê¤¤(*)" },
+       { &ironman_shops,               FALSE, OPT_PAGE_BIRTH, 6, 2,
+       "ironman_shops",                "(Å´¿ÍÍÑ)Ź¤ò»ÈÍѤ·¤Ê¤¤(*)" },
 #else
-       { &ironman_shops,               FALSE, 6, 6, 2,
+       { &ironman_shops,               FALSE, OPT_PAGE_BIRTH, 6, 2,
        "ironman_shops",                "Stores are permanently closed (*)" },
 #endif
 
-
 #ifdef JP
-       { &ironman_small_levels,        FALSE, 6, 6, 3,
-       "ironman_small_levels",         "¡ÊÅ´¿ÍÍѡ˾ï¤ËÈó¾ï¤Ë¾®¤µ¤¤¥Õ¥í¥¢¤òÀ¸À®(*)" },
+       { &ironman_small_levels,        FALSE, OPT_PAGE_BIRTH, 6, 3,
+       "ironman_small_levels",         "(Å´¿ÍÍÑ)¾ï¤ËÈó¾ï¤Ë¾®¤µ¤¤¥Õ¥í¥¢¤òÀ¸À®(*)" },
 #else
-       { &ironman_small_levels,        FALSE, 6, 6, 3,
+       { &ironman_small_levels,        FALSE, OPT_PAGE_BIRTH, 6, 3,
        "ironman_small_levels",         "Always create unusually small dungeon levels (*)" },
 #endif
 
-
 #ifdef JP
-       { &ironman_downward,            FALSE, 6, 6, 4,
-       "ironman_downward",             "¡ÊÅ´¿ÍÍѡ˵¢´Ô¤È¾å¤ê³¬Ãʤʤ·(*)" },
+       { &ironman_downward,            FALSE, OPT_PAGE_BIRTH, 6, 4,
+       "ironman_downward",             "(Å´¿ÍÍÑ)µ¢´Ô¤È¾å¤ê³¬Ãʤʤ·(*)" },
 #else
-       { &ironman_downward,            FALSE, 6, 6, 4,
+       { &ironman_downward,            FALSE, OPT_PAGE_BIRTH, 6, 4,
        "ironman_downward",             "Disable recall and use of up stairs (*)" },
 #endif
 
-
-#ifdef JP
-       { &ironman_autoscum,            FALSE, 6, 6, 5,
-       "ironman_autoscum",             "¡ÊÅ´¿ÍÍѡ˾ï¤Ë³¬¤ÎÊ·°Ïµ¤¤ò¼«Æ°Áª¤ê¹¥¤ß¤¹¤ë" },
-#else
-       { &ironman_autoscum,            FALSE, 6, 6, 5,
-       "ironman_autoscum",             "Permanently enable the autoscummer" },
-#endif
-
-
 #ifdef JP
-       { &ironman_empty_levels,         FALSE, 6, 6, 8,
-       "ironman_empty_levels",          "¡ÊÅ´¿ÍÍѡ˾ï¤Ë¶õ¤Ã¤Ý¤Î¥¢¥ê¡¼¥Ê¥ì¥Ù¥ë¤òÀ¸À®(*)" },
+       { &ironman_empty_levels,        FALSE, OPT_PAGE_BIRTH, 6, 8,
+       "ironman_empty_levels",         "(Å´¿ÍÍÑ)¾ï¤Ë¶õ¤Ã¤Ý¤Î¥¢¥ê¡¼¥Ê¥ì¥Ù¥ë¤òÀ¸À®(*)" },
 #else
-       { &ironman_empty_levels,        FALSE, 6, 6, 8,
+       { &ironman_empty_levels,        FALSE, OPT_PAGE_BIRTH, 6, 8,
        "ironman_empty_levels",         "Always create empty 'arena' levels (*)" },
 #endif
 
-
 #ifdef JP
-       { &ironman_rooms,                FALSE, 6, 6, 12,
-       "ironman_rooms",                 "¡ÊÅ´¿ÍÍѡ˾ï¤ËÉáÄ̤Ǥʤ¤Éô²°¤òÀ¸À®¤¹¤ë(*)" },
+       { &ironman_rooms,               FALSE, OPT_PAGE_BIRTH, 6, 12,
+       "ironman_rooms",                "(Å´¿ÍÍÑ)¾ï¤ËÉáÄ̤Ǥʤ¤Éô²°¤òÀ¸À®¤¹¤ë(*)" },
 #else
-       { &ironman_rooms,               FALSE, 6, 6, 12,
+       { &ironman_rooms,               FALSE, OPT_PAGE_BIRTH, 6, 12,
        "ironman_rooms",                "Always generate very unusual rooms (*)" },
 #endif
 
-
 #ifdef JP
-       { &ironman_nightmare,           FALSE, 6, 6, 18,
-       "ironman_nightmare",            "¡ÊÅ´¿ÍÍÑ¡Ë°­Ì´¥â¡¼¥É(¤³¤ì¤ÏÁ´¤¯ÉÔ¾òÍý¤Ç¤¹¡ª)(*)" },
+       { &ironman_nightmare,           FALSE, OPT_PAGE_BIRTH, 6, 18,
+       "ironman_nightmare",            "(Å´¿ÍÍÑ)°­Ì´¥â¡¼¥É(¤³¤ì¤ÏÁ´¤¯ÉÔ¾òÍý¤Ç¤¹¡ª)(*)" },
 #else
-       { &ironman_nightmare,           FALSE, 6, 6, 18,
-       "ironman_nightmare",            "Nightmare mode(it isn't even remotely fair!)(*)" },
+       { &ironman_nightmare,           FALSE, OPT_PAGE_BIRTH, 6, 18,
+       "ironman_nightmare",            "Nightmare mode(it isn't even remotely fair!)(*)" },
 #endif
 
 #ifdef JP
-       { &left_hander,                 FALSE, 6, 6, 13,
+       { &left_hander,                 FALSE, OPT_PAGE_BIRTH, 6, 13,
        "left_hander",                  "º¸Íø¤­¤Ç¤¢¤ë" },
 #else
-       { &left_hander,                 FALSE, 6, 6, 13,
+       { &left_hander,                 FALSE, OPT_PAGE_BIRTH, 6, 13,
        "left_hander",                  "Left-Hander" },
 #endif
 
-
 #ifdef JP
-       { &preserve_mode,               TRUE,  6, 6, 14,
+       { &preserve_mode,               TRUE,  OPT_PAGE_BIRTH, 6, 14,
        "preserve_mode",                "ÅÁÀâ¤Î¥¢¥¤¥Æ¥à¤ò¼è¤êƨ¤·¤Æ¤âºÆÀ¸À®¤µ¤ì¤ë(*)" },
 #else
-       { &preserve_mode,               TRUE,  6, 6, 14,
+       { &preserve_mode,               TRUE,  OPT_PAGE_BIRTH, 6, 14,
        "preserve_mode",                "Preserve artifacts (*)" },
 #endif
 
-
 #ifdef JP
-       { &autoroller,                  TRUE,  6, 6, 15,
+       { &autoroller,                  TRUE,  OPT_PAGE_BIRTH, 6, 15,
        "autoroller",                   "ǽÎÏÃͤ˥ª¡¼¥È¥í¡¼¥é¡¼»ÈÍÑ(*)" },
 #else
-       { &autoroller,                  TRUE,  6, 6, 15,
+       { &autoroller,                  TRUE,  OPT_PAGE_BIRTH, 6, 15,
        "autoroller",                   "Allow use of autoroller for stats (*)" },
 #endif
 
-
 #ifdef JP
-       { &autochara,                   FALSE, 6, 6, 16,
+       { &autochara,                   FALSE, OPT_PAGE_BIRTH, 6, 16,
        "autochara",                   "ÂγÊ/Ãϰ̤˥ª¡¼¥È¥í¡¼¥é¡¼»ÈÍÑ" },
 #else
-       { &autochara,                   FALSE, 6, 6, 16,
+       { &autochara,                   FALSE, OPT_PAGE_BIRTH, 6, 16,
        "autochara",                    "Autoroll for weight, height and social status" },
 #endif
 
-
 #ifdef JP
-       { &powerup_home,                TRUE,  6, 4, 3,
+       { &powerup_home,                TRUE,  OPT_PAGE_BIRTH, 4, 3,
        "powerup_home",                 "²æ¤¬²È¤ò³ÈÄ¥¤¹¤ë(*)" },
-
 #else
-       { &powerup_home,                TRUE,  6, 4, 3,
+       { &powerup_home,                TRUE,  OPT_PAGE_BIRTH, 4, 3,
        "powerup_home",                 "Increase capacity of your home (*)" },
 #endif
 
-
        /*** Easy Object Auto-Destroyer ***/
 
 #ifdef JP
-       { &destroy_items,               FALSE, 7, 7, 0,
+       { &destroy_items,               FALSE, OPT_PAGE_AUTODESTROY, 7, 0,
        "destroy_items",                "¥¢¥¤¥Æ¥à¤Î´Ê°×¼«Æ°Ç˲õ¤ò»ÈÍѤ¹¤ë" },
 #else
-       { &destroy_items,               FALSE, 7, 7, 0,
+       { &destroy_items,               FALSE, OPT_PAGE_AUTODESTROY, 7, 0,
        "destroy_items",                "Use easy auto-destroyer" },
 #endif
 
 #ifdef JP
-       { &destroy_feeling,               FALSE, 7, 7, 8,
-       "destroy_feeling",                "´Ê°×´ÕÄꤷ¤¿¤È¤­¼«Æ°Ç˲õ¤òŬÍѤ¹¤ë" },
+       { &destroy_feeling,             FALSE, OPT_PAGE_AUTODESTROY, 7, 8,
+       "destroy_feeling",              "´Ê°×´ÕÄꤷ¤¿¤È¤­¼«Æ°Ç˲õ¤òŬÍѤ¹¤ë" },
 #else
-       { &destroy_feeling,               FALSE, 7, 7, 8,
-       "destroy_feeling",                "Apply auto-destroy as sense feeling" },
+       { &destroy_feeling,             FALSE, OPT_PAGE_AUTODESTROY, 7, 8,
+       "destroy_feeling",              "Apply auto-destroy as sense feeling" },
 #endif
 
 #ifdef JP
-       { &destroy_identify,               FALSE, 7, 7, 9,
-       "destroy_identify",                "´ÕÄꤷ¤¿¤È¤­¼«Æ°Ç˲õ¤òŬÍѤ¹¤ë" },
+       { &destroy_identify,            FALSE, OPT_PAGE_AUTODESTROY, 7, 9,
+       "destroy_identify",             "´ÕÄꤷ¤¿¤È¤­¼«Æ°Ç˲õ¤òŬÍѤ¹¤ë" },
 #else
-       { &destroy_identify,               FALSE, 7, 7, 9,
-       "destroy_identify",                "Apply auto-destroy as identify an item" },
+       { &destroy_identify,            FALSE, OPT_PAGE_AUTODESTROY, 7, 9,
+       "destroy_identify",             "Apply auto-destroy as identify an item" },
 #endif
 
 #ifdef JP
-       { &leave_worth,                 TRUE, 7, 7, 2,
+       { &leave_worth,                 TRUE,  OPT_PAGE_AUTODESTROY, 7, 2,
        "leave_worth",                  "²ÁÃͤ¬¤¢¤ë¥¢¥¤¥Æ¥à¤Ï²õ¤µ¤Ê¤¤" },
 #else
-       { &leave_worth,                 TRUE, 7, 7, 2,
+       { &leave_worth,                 TRUE,  OPT_PAGE_AUTODESTROY, 7, 2,
        "leave_worth",                  "Auto-destroyer leaves known worthy items" },
 #endif
 
 #ifdef JP
-       { &leave_equip,                 FALSE, 7, 7, 3,
+       { &leave_equip,                 FALSE, OPT_PAGE_AUTODESTROY, 7, 3,
        "leave_equip",                  "Éð´ï/Ëɶñ¤Ï²õ¤µ¤Ê¤¤" },
 #else
-       { &leave_equip,                 FALSE, 7, 7, 3,
+       { &leave_equip,                 FALSE, OPT_PAGE_AUTODESTROY, 7, 3,
        "leave_equip",                  "Auto-destroyer leaves weapons and armour" },
 #endif
 
 #ifdef JP
-       { &leave_chest,                 TRUE, 7, 7, 7,
+       { &leave_chest,                 TRUE,  OPT_PAGE_AUTODESTROY, 7, 7,
        "leave_chest",                  "³«Éõ¤µ¤ì¤Æ¤¤¤Ê¤¤È¢¤Ï²õ¤µ¤Ê¤¤" },
 #else
-       { &leave_chest,                 TRUE, 7, 7, 7,
+       { &leave_chest,                 TRUE,  OPT_PAGE_AUTODESTROY, 7, 7,
        "leave_chest",                  "Auto-destroyer leaves closed chests" },
 #endif
 
 #ifdef JP
-       { &leave_wanted,                TRUE, 7, 7, 4,
+       { &leave_wanted,                TRUE,  OPT_PAGE_AUTODESTROY, 7, 4,
        "leave_wanted",                 "¾Þ¶â¼ó¤Î»àÂÎ/¹ü¤Ï²õ¤µ¤Ê¤¤" },
 #else
-       { &leave_wanted,                TRUE, 7, 7, 4,
+       { &leave_wanted,                TRUE,  OPT_PAGE_AUTODESTROY, 7, 4,
        "leave_wanted",                 "Auto-destroyer leaves wanted corpses" },
 #endif
 
 #ifdef JP
-       { &leave_corpse,                FALSE, 7, 7, 5,
+       { &leave_corpse,                FALSE, OPT_PAGE_AUTODESTROY, 7, 5,
        "leave_corpse",                 "»àÂÎ/¹ü¤Ï²õ¤µ¤Ê¤¤" },
 #else
-       { &leave_corpse,                FALSE, 7, 7, 5,
+       { &leave_corpse,                FALSE, OPT_PAGE_AUTODESTROY, 7, 5,
        "leave_corpse",                 "Auto-destroyer leaves corpses and skeletons" },
 #endif
 
 #ifdef JP
-       { &leave_junk,                  FALSE, 7, 7, 6,
+       { &leave_junk,                  FALSE, OPT_PAGE_AUTODESTROY, 7, 6,
        "leave_junk",                   "¤¬¤é¤¯¤¿¤Ï²õ¤µ¤Ê¤¤" },
 #else
-       { &leave_junk,                  FALSE, 7, 7, 6,
+       { &leave_junk,                  FALSE, OPT_PAGE_AUTODESTROY, 7, 6,
        "leave_junk",                   "Auto-destroyer leaves junk" },
 #endif
 
 #ifdef JP
-       { &leave_special,               TRUE, 7, 7, 1,
+       { &leave_special,               TRUE,  OPT_PAGE_AUTODESTROY, 7, 1,
        "leave_special",                "¼ï²/¿¦¶È¤ÇÆÃÊ̤ËɬÍפʥ¢¥¤¥Æ¥à¤Ï²õ¤µ¤Ê¤¤" },
 #else
-       { &leave_special,               TRUE, 7, 7, 1,
+       { &leave_special,               TRUE,  OPT_PAGE_AUTODESTROY, 7, 1,
        "leave_special",                "Auto-destroyer leaves items your race/class needs" },
 #endif
 
-
        /*** Play-record Options ***/
 
 #ifdef JP
-       { &record_fix_art,              TRUE, 10, 4, 11,
+       { &record_fix_art,              TRUE,  OPT_PAGE_PLAYRECORD, 4, 11,
        "record_fix_art",               "¸ÇÄꥢ¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ÎÆþ¼ê¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_fix_art,              TRUE, 10, 4, 11,
+       { &record_fix_art,              TRUE,  OPT_PAGE_PLAYRECORD, 4, 11,
        "record_fix_art",               "Record fixed artifacts" },
 #endif
 
 #ifdef JP
-       { &record_rand_art,             TRUE, 10, 4, 12,
+       { &record_rand_art,             TRUE,  OPT_PAGE_PLAYRECORD, 4, 12,
        "record_rand_art",              "¥é¥ó¥À¥à¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ÎÆþ¼ê¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_rand_art,             TRUE, 10, 4, 12,
+       { &record_rand_art,             TRUE,  OPT_PAGE_PLAYRECORD, 4, 12,
        "record_rand_art",              "Record random artifacts" },
 #endif
 
 #ifdef JP
-       { &record_destroy_uniq,         TRUE, 10, 4, 13,
+       { &record_destroy_uniq,         TRUE,  OPT_PAGE_PLAYRECORD, 4, 13,
        "record_destroy_uniq",          "¥æ¥Ë¡¼¥¯¥â¥ó¥¹¥¿¡¼¤òÅݤ·¤¿¤È¤­¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_destroy_uniq,         TRUE, 10, 4, 13,
+       { &record_destroy_uniq,         TRUE,  OPT_PAGE_PLAYRECORD, 4, 13,
        "record_destroy_uniq",          "Record when destroy unique monster" },
 #endif
 
 #ifdef JP
-       { &record_fix_quest,            TRUE, 10, 4, 14,
+       { &record_fix_quest,            TRUE,  OPT_PAGE_PLAYRECORD, 4, 14,
        "record_fix_quest",             "¸ÇÄꥯ¥¨¥¹¥È¤ÎãÀ®¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_fix_quest,            TRUE, 10, 4, 14,
+       { &record_fix_quest,            TRUE,  OPT_PAGE_PLAYRECORD, 4, 14,
        "record_fix_quest",             "Record fixed quests" },
 #endif
 
 #ifdef JP
-       { &record_rand_quest,           TRUE, 10, 4, 15,
+       { &record_rand_quest,           TRUE,  OPT_PAGE_PLAYRECORD, 4, 15,
        "record_rand_quest",            "¥é¥ó¥À¥à¥¯¥¨¥¹¥È¤ÎãÀ®¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_rand_quest,           TRUE, 10, 4, 15,
+       { &record_rand_quest,           TRUE,  OPT_PAGE_PLAYRECORD, 4, 15,
        "record_rand_quest",            "Record random quests" },
 #endif
 
 #ifdef JP
-       { &record_maxdeapth,            TRUE, 10, 4, 16,
-       "record_maxdeapth",             "ºÇ¿¼³¬¤ò¹¹¿·¤·¤¿¤È¤­¤Ëµ­Ï¿¤¹¤ë" },
+       { &record_maxdepth,             TRUE,  OPT_PAGE_PLAYRECORD, 4, 16,
+       "record_maxdepth",              "ºÇ¿¼³¬¤ò¹¹¿·¤·¤¿¤È¤­¤Ëµ­Ï¿¤¹¤ë" },
 #else
-       { &record_maxdeapth,            TRUE, 10, 4, 16,
-       "record_maxdeapth",             "Record movements to deepest level" },
+       { &record_maxdepth,             TRUE,  OPT_PAGE_PLAYRECORD, 4, 16,
+       "record_maxdepth",              "Record movements to deepest level" },
 #endif
 
 #ifdef JP
-       { &record_stair,                TRUE, 10, 4, 17,
+       { &record_stair,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 17,
        "record_stair",                 "³¬¤Î°ÜÆ°¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_stair,                TRUE, 10, 4, 17,
+       { &record_stair,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 17,
        "record_stair",                 "Record recall and stair movements" },
 #endif
 
 #ifdef JP
-       { &record_buy,                  TRUE, 10, 4, 18,
+       { &record_buy,                  TRUE,  OPT_PAGE_PLAYRECORD, 4, 18,
        "record_buy",                   "¥¢¥¤¥Æ¥à¤Î¹ØÆþ¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_buy,                  TRUE, 10, 4, 18,
+       { &record_buy,                  TRUE,  OPT_PAGE_PLAYRECORD, 4, 18,
        "record_buy",                   "Record purchased items" },
 #endif
 
 #ifdef JP
-       { &record_sell,                 FALSE, 10, 4, 19,
+       { &record_sell,                 FALSE, OPT_PAGE_PLAYRECORD, 4, 19,
        "record_sell",                  "¥¢¥¤¥Æ¥à¤ÎÇäµÑ¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_sell,                 FALSE, 10, 4, 19,
+       { &record_sell,                 FALSE, OPT_PAGE_PLAYRECORD, 4, 19,
        "record_sell",                  "Record sold items" },
 #endif
 
 #ifdef JP
-       { &record_danger,               TRUE, 10, 4, 20,
+       { &record_danger,               TRUE,  OPT_PAGE_PLAYRECORD, 4, 20,
        "record_danger",                "¥Ô¥ó¥Á¤Ë¤Ê¤Ã¤¿¤È¤­¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_danger,               TRUE, 10, 4, 20,
+       { &record_danger,               TRUE,  OPT_PAGE_PLAYRECORD, 4, 20,
        "record_danger",                "Record hitpoint warning" },
 #endif
 
 #ifdef JP
-       { &record_arena,                TRUE, 10, 4, 21,
+       { &record_arena,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 21,
        "record_arena",                 "¥¢¥ê¡¼¥Ê¤Ç¤Î¾¡Íø¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_arena,                TRUE, 10, 4, 21,
+       { &record_arena,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 21,
        "record_arena",                 "Record arena victories" },
 #endif
 
 #ifdef JP
-       { &record_ident,                TRUE, 10, 4, 22,
+       { &record_ident,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 22,
        "record_ident",                 "̤ȽÌÀ¤Î¥¢¥¤¥Æ¥à¤Î¼±Ê̤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_ident,                TRUE, 10, 4, 22,
+       { &record_ident,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 22,
        "record_ident",                 "Record first identified items" },
 #endif
 
 #ifdef JP
-       { &record_named_pet,            FALSE, 10, 4, 23,
+       { &record_named_pet,            FALSE, OPT_PAGE_PLAYRECORD, 4, 23,
        "record_named_pet",             "̾Á°¤Ä¤­¥Ú¥Ã¥È¤Î¾ðÊó¤òµ­Ï¿¤¹¤ë" },
 #else
-       { &record_named_pet,            FALSE, 10, 4, 23,
+       { &record_named_pet,            FALSE, OPT_PAGE_PLAYRECORD, 4, 23,
        "record_named_pet",             "Record informations of named pets" },
 #endif
 
-
        /*** End of Table ***/
 
        { NULL,                         0, 0, 0, 0,
@@ -7836,70 +6734,99 @@ cptr exp_level_str[5]=
 {"[Unskilled]", "[Beginner]", "[Skilled]", "[Expert]", "[Master]"};
 #endif
 
-byte conv_terrain2feat[MAX_WILDERNESS] =
+/* Weird melee attack types when hallucinating */
+#ifdef JP
+cptr silly_attacks[MAX_SILLY_ATTACK] =
 {
-  FEAT_PERM_EXTRA,
-  FEAT_TOWN,
-  FEAT_DEEP_WATER,
-  FEAT_SHAL_WATER,
-  FEAT_SWAMP,
-  FEAT_DIRT,
-  FEAT_GRASS,
-  FEAT_TREES,
-  FEAT_DIRT,
-  FEAT_SHAL_LAVA,
-  FEAT_DEEP_LAVA,
-  FEAT_MOUNTAIN
+       "¤Ë¾®Êؤò¤«¤±¤é¤ì¤¿¡£",
+       "¤¬¤¢¤Ê¤¿¤Î²ó¤ê¤ò3²ó²ó¤Ã¤Æ¥ï¥ó¤È¸À¤Ã¤¿¡£",
+       "¤Ë¤·¤Ð¤­¤Þ¤ï¤µ¤ì¤¿¡£",
+       "¤Ë·¤¤ò¤Ê¤á¤µ¤»¤é¤ì¤¿¡£",
+       "¤Ë¥Ï¥Ê¥¯¥½¤òÈô¤Ð¤µ¤ì¤¿¡£",
+       "¤Ë¥¸¥ã¥ó·ý¤Ç¹¶·â¤µ¤ì¤¿¡£",
+       "¤¬¤¢¤Ê¤¿¤ÎËˤò»¥Â«¤Ç¤·¤Ð¤¤¤¿¡£",
+       "¤¬¤¢¤Ê¤¿¤ÎÁ°¤Ç¥Ý¡¼¥¸¥ó¥°¤ò¤·¤¿¡£",
+       "¤Ë¥¢¥«¥ó¥Ù¡¼¤µ¤ì¤¿¡£",
+       "¤Ë¡Ö¿À¤Î¹ñ¡×ȯ¸À¤Îű²ó¤òµá¤á¤é¤ì¤¿¡£",
+       "¤Ë¥á¥Ã¡û¡¼¥ë¤ò°û¤Þ¤µ¤ì¤¿¡£",
+       "¤Ë¤Ä¤Ã¤³¤ß¤òÆþ¤ì¤é¤ì¤¿¡£",
+       "¤Ï¤¢¤Ê¤¿¤ÈÍ٤ä¿¡£",
+       "¤Ë´é¤Ë¤é¤¯½ñ¤­¤ò¤µ¤ì¤¿¡£",
+       "¤Ë¼Ú¶â¤ÎÊֺѤò¤»¤Þ¤é¤ì¤¿¡£",
+       "¤Ë¥¹¥«¡¼¥È¤ò¤á¤¯¤é¤ì¤¿¡£",
+       "¤Ï¤¢¤Ê¤¿¤Î¼êÁê¤òÀê¤Ã¤¿¡£",
+       "¤«¤éÌòËþ¤ò¾å¤¬¤é¤ì¤¿¡£",
+       "¤«¤é°¦¤Î¹ðÇò¤ò¤µ¤ì¤¿¡£",
+       "¤Ï¤¢¤Ê¤¿¤ò»þµë500±ß¤Ç¸Û¤Ã¤¿¡£",
+       "¤Ï¤¢¤Ê¤¿¤Î100¤ÎÈëÌ©¤Ë¤Ä¤¤¤ÆÇ®¤¯¸ì¤Ã¤¿¡£",
+       "¤¬¥Ë¥ã¡¼¤ÈÌĤ¤¤¿¡£",
+       "¤Ï¤¢¤Ê¤¿¤Ëµ¤¤ò¤Ä¤±¤¿¡£",
+       "¤Ï¤¢¤Ê¤¿¤ò¥Ý¥ê¥´¥ó²½¤µ¤»¤¿¡£",
+       "¤Ë¾¯¤·¤«¤¸¤é¤ì¤¿¡£",
+       "¤Ï¥¢¥ë¥Æ¥Þ¤Î¼öʸ¤ò¾§¤¨¤¿¡ª",
+       "¤Ï¤¢¤Ê¤¿¤Î¥¹¥Ñ¥¤¥¯¤ò¥Ö¥í¥Ã¥¯¤·¤¿¡£",
+       "¤Ï¥¹¥é¥¤¥É°ÜÆ°¤·¤¿¡£",
+       "¤Ï¾ºÎ¶·ý¥³¥Þ¥ó¥É¤ÎÆþÎϤ˼ºÇÔ¤·¤¿¡£",
+       "¤Ï³È»¶ÇÈưˤ¤òȯ¼Í¤·¤¿¡£",
+       "¤Ï¥Ç¥¹¥é¡¼ÀïË¡¤ò¤·¤«¤±¤¿¡£",
+       "¤Ë¥é¥¤¥À¡¼¥­¥Ã¥¯¤Ç¹¶·â¤µ¤ì¤¿¡£",
+       "¤ËÆó½µ´Ö°ÊÆâ¤Ç¥Ó¥Ç¥ª¤ò¿Í¤Ë¸«¤»¤Ê¤¤¤È»à¤Ì¼ö¤¤¤ò¤«¤±¤é¤ì¤¿¡£",
+       "¤Ï¥Ñ¥ë¥×¥ó¥Æ¤ò¾§¤¨¤¿¡£",
+       "¤Ï¥¹¡¼¥Ñ¡¼¥¦¥ë¥È¥é¥®¥ã¥é¥¯¥Æ¥£¥«¥Þ¥°¥Ê¥à¤òÊü¤Ã¤¿¡£",
+       "¤Ë¤·¤ã¤¬¤ß¾®¥­¥Ã¥¯¤Ç¥Ï¥á¤é¤ì¤¿¡£",
+       "¤Ë¥¸¥§¥Ã¥È¥¹¥È¥ê¡¼¥à¥¢¥¿¥Ã¥¯¤ò¤«¤±¤é¤ì¤¿¡£",
+       "¤Ï¤¢¤Ê¤¿¤ËÒĸǤá¤ò¤«¤±¤Æ¡Ö1¡¢2¡¢3¡¢¥À¡¼¥Ã¡ª¡×¤È¶«¤ó¤À¡£",
+       "¤Ï¡Ö¤¤¤¯¤¸¤Ê¤·¡ª¤Ð¤«¤Ð¤«¤Ð¤«¡ª¡×¤È¤¤¤Ã¤Æ¶î¤±½Ð¤·¤¿¡£",
+       "¤¬¡Ö¤´¤é¤ó¡¢¥ë¡¼¥Ù¥ó¥¹¤Î³¨¤À¤è¡×¤È¸À¤Ã¤ÆÀŤ«¤ËÌܤòÊĤ¸¤¿¡£",
+       "¤Ï¸À¤Ã¤¿¡£¡ÖÊѶòÈÚÅÜ¡¢À仿¸ø³«Ã桪¡×",
 };
 
-#ifdef JP
-cptr silly_attacks[MAX_SILLY_ATTACK] =
+/* Note: %s for strfmt() */
+cptr silly_attacks2[MAX_SILLY_ATTACK] =
 {
-  "¤Ë¾®Êؤò¤«¤±¤é¤ì¤¿¡£",
-  "¤¬¤¢¤Ê¤¿¤Î²ó¤ê¤ò3²ó²ó¤Ã¤Æ¥ï¥ó¤È¸À¤Ã¤¿¡£",
-  "¤Ë¤·¤Ð¤­¤Þ¤ï¤µ¤ì¤¿¡£",
-  "¤Ë·¤¤ò¤Ê¤á¤µ¤»¤é¤ì¤¿¡£",
-  "¤Ë¥Ï¥Ê¥¯¥½¤òÈô¤Ð¤µ¤ì¤¿¡£",
-  "¤Ë¥¸¥ã¥ó·ý¤Ç¹¶·â¤µ¤ì¤¿¡£",
-  "¤¬¤¢¤Ê¤¿¤ÎËˤò»¥Â«¤Ç¤·¤Ð¤¤¤¿¡£",
-  "¤¬¤¢¤Ê¤¿¤ÎÁ°¤Ç¥Ý¡¼¥¸¥ó¥°¤ò¤·¤¿¡£",
-  "¤Ë¥¢¥«¥ó¥Ù¡¼¤µ¤ì¤¿¡£",
-  "¤Ë¡Ö¿À¤Î¹ñ¡×ȯ¸À¤Îű²ó¤òµá¤á¤é¤ì¤¿¡£",
-  "¤Ë¥á¥Ã¡û¡¼¥ë¤ò°û¤Þ¤µ¤ì¤¿¡£",
-  "¤Ë¤Ä¤Ã¤³¤ß¤òÆþ¤ì¤é¤ì¤¿¡£",
-  "¤Ï¤¢¤Ê¤¿¤ÈÍ٤ä¿¡£",
-  "¤Ë´é¤Ë¤é¤¯½ñ¤­¤ò¤µ¤ì¤¿¡£",
-  "¤Ë¼Ú¶â¤ÎÊֺѤò¤»¤Þ¤é¤ì¤¿¡£",
-  "¤Ë¥¹¥«¡¼¥È¤ò¤á¤¯¤é¤ì¤¿¡£",
-  "¤Ï¤¢¤Ê¤¿¤Î¼êÁê¤òÀê¤Ã¤¿¡£",
-  "¤«¤éÌòËþ¤ò¾å¤¬¤é¤ì¤¿¡£",
-  "¤«¤é°¦¤Î¹ðÇò¤ò¤µ¤ì¤¿¡£",
-  "¤Ï¤¢¤Ê¤¿¤ò»þµë500±ß¤Ç¸Û¤Ã¤¿¡£",
-  "¤Ï¤¢¤Ê¤¿¤Î100¤ÎÈëÌ©¤Ë¤Ä¤¤¤ÆÇ®¤¯¸ì¤Ã¤¿¡£",
-  "¤¬¥Ë¥ã¡¼¤ÈÌĤ¤¤¿¡£",
-  "¤Ï¤¢¤Ê¤¿¤Ëµ¤¤ò¤Ä¤±¤¿¡£",
-  "¤Ï¤¢¤Ê¤¿¤ò¥Ý¥ê¥´¥ó²½¤µ¤»¤¿¡£",
-  "¤Ë¾¯¤·¤«¤¸¤é¤ì¤¿¡£",
-  "¤Ï¥¢¥ë¥Æ¥Þ¤Î¼öʸ¤ò¾§¤¨¤¿¡ª",
-  "¤Ï¤¢¤Ê¤¿¤Î¥¹¥Ñ¥¤¥¯¤ò¥Ö¥í¥Ã¥¯¤·¤¿¡£",
-  "¤Ï¥¹¥é¥¤¥É°ÜÆ°¤·¤¿¡£",
-  "¤Ï¾ºÎ¶·ý¥³¥Þ¥ó¥É¤ÎÆþÎϤ˼ºÇÔ¤·¤¿¡£",
-  "¤Ï³È»¶ÇÈưˤ¤òȯ¼Í¤·¤¿¡£",
-  "¤Ï¥Ç¥¹¥é¡¼ÀïË¡¤ò¤·¤«¤±¤¿¡£",
-  "¤Ë¥é¥¤¥À¡¼¥­¥Ã¥¯¤Ç¹¶·â¤µ¤ì¤¿¡£",
-  "¤ËÆó½µ´Ö°ÊÆâ¤Ç¥Ó¥Ç¥ª¤ò¿Í¤Ë¸«¤»¤Ê¤¤¤È»à¤Ì¼ö¤¤¤ò¤«¤±¤é¤ì¤¿¡£",
-  "¤Ï¥Ñ¥ë¥×¥ó¥Æ¤ò¾§¤¨¤¿¡£",
-  "¤Ï¥¹¡¼¥Ñ¡¼¥¦¥ë¥È¥é¥®¥ã¥é¥¯¥Æ¥£¥«¥Þ¥°¥Ê¥à¤òÊü¤Ã¤¿¡£",
-  "¤Ë¤·¤ã¤¬¤ß¾®¥­¥Ã¥¯¤Ç¥Ï¥á¤é¤ì¤¿¡£",
-  "¤Ë¥¸¥§¥Ã¥È¥¹¥È¥ê¡¼¥à¥¢¥¿¥Ã¥¯¤ò¤«¤±¤é¤ì¤¿¡£",
-  "¤Ï¤¢¤Ê¤¿¤ËÒĸǤá¤ò¤«¤±¤Æ¡Ö1¡¢2¡¢3¡¢¥À¡¼¥Ã¡ª¡×¤È¶«¤ó¤À¡£",
-  "¤Ï¡Ö¤¤¤¯¤¸¤Ê¤·¡ª¤Ð¤«¤Ð¤«¤Ð¤«¡ª¡×¤È¤¤¤Ã¤Æ¶î¤±½Ð¤·¤¿¡£",
-  "¤¬¡Ö¤´¤é¤ó¡¢¥ë¡¼¥Ù¥ó¥¹¤Î³¨¤À¤è¡×¤È¸À¤Ã¤ÆÀŤ«¤ËÌܤòÊĤ¸¤¿¡£",
-  "¤Ï¸À¤Ã¤¿¡£¡ÖÊѶòÈÚÅÜ¡¢À仿¸ø³«Ã桪¡×¡£",
+       "%s¤Ë¾®Êؤò¤«¤±¤¿¡£",
+       "%s¤Î²ó¤ê¤ò3²ó²ó¤Ã¤Æ¥ï¥ó¤È¸À¤Ã¤¿¡£",
+       "%s¤ò¤·¤Ð¤­¤Þ¤ï¤·¤¿¡£",
+       "%s¤Ë·¤¤ò¤Ê¤á¤µ¤»¤¿¡£",
+       "%s¤Ë¥Ï¥Ê¥¯¥½¤òÈô¤Ð¤·¤¿¡£",
+       "%s¤ò¥¸¥ã¥ó·ý¤Ç¹¶·â¤·¤¿¡£",
+       "%s¤ÎËˤò»¥Â«¤Ç¤·¤Ð¤¤¤¿¡£",
+       "%s¤ÎÁ°¤Ç¥Ý¡¼¥¸¥ó¥°¤ò¤·¤¿¡£",
+       "%s¤Ë¥¢¥«¥ó¥Ù¡¼¤·¤¿¡£",
+       "%s¤Ë¡Ö¿À¤Î¹ñ¡×ȯ¸À¤Îű²ó¤òµá¤á¤¿¡£",
+       "%s¤Ë¥á¥Ã¡û¡¼¥ë¤ò°û¤Þ¤»¤¿¡£",
+       "%s¤Ë¤Ä¤Ã¤³¤ß¤òÆþ¤ì¤¿¡£",
+       "%s¤ÈÍ٤ä¿¡£",
+       "%s¤Î´é¤Ë¤é¤¯½ñ¤­¤ò¤·¤¿¡£",
+       "%s¤Ë¼Ú¶â¤ÎÊֺѤò¤»¤Þ¤Ã¤¿¡£",
+       "%s¤Î¥¹¥«¡¼¥È¤ò¤á¤¯¤Ã¤¿¡£",
+       "%s¤Î¼êÁê¤òÀê¤Ã¤¿¡£",
+       "%s¤«¤éÌòËþ¤ò¾å¤¬¤Ã¤¿¡£",
+       "%s¤Ë°¦¤Î¹ðÇò¤ò¤·¤¿¡£",
+       "%s¤ò»þµë500±ß¤Ç¸Û¤Ã¤¿¡£",
+       "%s¤Î100¤ÎÈëÌ©¤Ë¤Ä¤¤¤ÆÇ®¤¯¸ì¤Ã¤¿¡£",
+       "¥Ë¥ã¡¼¤ÈÌĤ¤¤¿¡£",
+       "%s¤Ëµ¤¤ò¤Ä¤±¤¿¡£",
+       "%s¤ò¥Ý¥ê¥´¥ó²½¤µ¤»¤¿¡£",
+       "%s¤ò¾¯¤·¤«¤¸¤Ã¤¿¡£",
+       "¥¢¥ë¥Æ¥Þ¤Î¼öʸ¤ò¾§¤¨¤¿¡ª",
+       "%s¤Î¥¹¥Ñ¥¤¥¯¤ò¥Ö¥í¥Ã¥¯¤·¤¿¡£",
+       "¥¹¥é¥¤¥É°ÜÆ°¤·¤¿¡£",
+       "¾ºÎ¶·ý¥³¥Þ¥ó¥É¤ÎÆþÎϤ˼ºÇÔ¤·¤¿¡£",
+       "%s¤Ë³È»¶ÇÈưˤ¤òȯ¼Í¤·¤¿¡£",
+       "%s¤Ë¥Ç¥¹¥é¡¼ÀïË¡¤ò¤·¤«¤±¤¿¡£",
+       "%s¤ò¥é¥¤¥À¡¼¥­¥Ã¥¯¤Ç¹¶·â¤·¤¿¡£",
+       "%s¤ËÆó½µ´Ö°ÊÆâ¤Ç¥Ó¥Ç¥ª¤ò¿Í¤Ë¸«¤»¤Ê¤¤¤È»à¤Ì¼ö¤¤¤ò¤«¤±¤¿¡£",
+       "¥Ñ¥ë¥×¥ó¥Æ¤ò¾§¤¨¤¿¡£",
+       "%s¤Ë¥¹¡¼¥Ñ¡¼¥¦¥ë¥È¥é¥®¥ã¥é¥¯¥Æ¥£¥«¥Þ¥°¥Ê¥à¤òÊü¤Ã¤¿¡£",
+       "%s¤ò¤·¤ã¤¬¤ß¾®¥­¥Ã¥¯¤Ç¥Ï¥á¤¿¡£",
+       "%s¤Ë¥¸¥§¥Ã¥È¥¹¥È¥ê¡¼¥à¥¢¥¿¥Ã¥¯¤ò¤«¤±¤¿¡£",
+       "%s¤ËÒĸǤá¤ò¤«¤±¤Æ¡Ö1¡¢2¡¢3¡¢¥À¡¼¥Ã¡ª¡×¤È¶«¤ó¤À¡£",
+       "¡Ö¤¤¤¯¤¸¤Ê¤·¡ª¤Ð¤«¤Ð¤«¤Ð¤«¡ª¡×¤È¤¤¤Ã¤Æ¶î¤±½Ð¤·¤¿¡£",
+       "¡Ö¤´¤é¤ó¡¢¥ë¡¼¥Ù¥ó¥¹¤Î³¨¤À¤è¡×¤È¸À¤Ã¤ÆÀŤ«¤ËÌܤòÊĤ¸¤¿¡£",
+       "¸À¤Ã¤¿¡£¡ÖÊѶòÈÚÅÜ¡¢À仿¸ø³«Ã桪¡×",
 };
 #else
-
-/* Weird melee attack types when hallucinating */
 cptr silly_attacks[MAX_SILLY_ATTACK] =
 {
        "smothers",
@@ -7935,7 +6862,7 @@ cptr silly_attacks[MAX_SILLY_ATTACK] =
        "falsifies",
        "disbelieves",
        "molests",
-       "pusupusu"
+       "pusupusu",
 };
 #endif
 
@@ -7950,7 +6877,7 @@ cptr ident_info[] =
        " :°Å°Ç",
        "!:Ìô, ¥ª¥¤¥ë",
        "\":¥¢¥ß¥å¥ì¥Ã¥È, ðô¾þ¤ê",
-       "#:ÊÉ(±£¤·¥É¥¢)Ëô¤Ï¿¢Êª",
+       "#:ÊÉ(±£¤·¥É¥¢)/¿¢Êª/µ¤ÂÎ",
        "$:ºâÊõ(¶â¤«ÊõÀÐ)",
        "%:¹ÛÌ®(Íϴ䤫ÀбÑ)",
        "&:Ȣ",
@@ -7974,7 +6901,7 @@ cptr ident_info[] =
        "8:²æ¤¬²È¤ÎÆþ¸ý",
        "9:½ñŹ¤ÎÆþ¸ý",
        "::´äÀÐ",
-       ";:²óÈò¤Î³¨Ê¸»ú/Çúȯ¤Î¥ë¡¼¥ó",
+       ";:²óÈò¤ÎĦÁü/Çúȯ¤Î¥ë¡¼¥ó",
        "<:¾å¤ê³¬ÃÊ",
        "=:»ØÎØ",
        ">:²¼¤ê³¬ÃÊ",
@@ -8046,7 +6973,7 @@ cptr ident_info[] =
        " :A dark grid",
        "!:A potion (or oil)",
        "\":An amulet (or necklace)",
-       "#:A wall (or secret door)",
+       "#:A wall (or secret door) / a plant / a gas",
        "$:Treasure (gold or gems)",
        "%:A vein (magma or quartz)",
        "&:A chest",
@@ -8070,7 +6997,7 @@ cptr ident_info[] =
        "8:Entrance to your home",
        "9:Entrance to the bookstore",
        "::Rubble",
-       ";:A glyph of warding / explosive rune",
+       ";:A glyph of warding / an explosive rune",
        "<:An up staircase",
        "=:A ring",
        ">:A down staircase",
@@ -8144,3 +7071,167 @@ cptr ident_info[] =
 };
 
 
+/*
+ * The table of monsters' blow effects
+ */
+mbe_info_type mbe_info[] =
+{
+       {  0, 0,             }, /* None      */
+       { 60, GF_MISSILE,    }, /* HURT      */
+       {  5, GF_POIS,       }, /* POISON    */
+       { 20, GF_DISENCHANT, }, /* UN_BONUS  */
+       { 15, GF_MISSILE,    }, /* UN_POWER  */ /* ToDo: Apply the correct effects */
+       {  5, GF_MISSILE,    }, /* EAT_GOLD  */
+       {  5, GF_MISSILE,    }, /* EAT_ITEM  */
+       {  5, GF_MISSILE,    }, /* EAT_FOOD  */
+       {  5, GF_MISSILE,    }, /* EAT_LITE  */
+       {  0, GF_ACID,       }, /* ACID      */
+       { 10, GF_ELEC,       }, /* ELEC      */
+       { 10, GF_FIRE,       }, /* FIRE      */
+       { 10, GF_COLD,       }, /* COLD      */
+       {  2, GF_MISSILE,    }, /* BLIND     */
+       { 10, GF_CONFUSION,  }, /* CONFUSE   */
+       { 10, GF_MISSILE,    }, /* TERRIFY   */
+       {  2, GF_MISSILE,    }, /* PARALYZE  */
+       {  0, GF_MISSILE,    }, /* LOSE_STR  */
+       {  0, GF_MISSILE,    }, /* LOSE_INT  */
+       {  0, GF_MISSILE,    }, /* LOSE_WIS  */
+       {  0, GF_MISSILE,    }, /* LOSE_DEX  */
+       {  0, GF_MISSILE,    }, /* LOSE_CON  */
+       {  0, GF_MISSILE,    }, /* LOSE_CHR  */
+       {  2, GF_MISSILE,    }, /* LOSE_ALL  */
+       { 60, GF_ROCKET,     }, /* SHATTER   */
+       {  5, GF_MISSILE,    }, /* EXP_10    */
+       {  5, GF_MISSILE,    }, /* EXP_20    */
+       {  5, GF_MISSILE,    }, /* EXP_40    */
+       {  5, GF_MISSILE,    }, /* EXP_80    */
+       {  5, GF_POIS,       }, /* DISEASE   */
+       {  5, GF_TIME,       }, /* TIME      */
+       {  5, GF_MISSILE,    }, /* EXP_VAMP  */
+       {  5, GF_MANA,       }, /* DR_MANA   */
+       { 60, GF_MISSILE,    }, /* SUPERHURT */
+};
+
+
+/*
+ * The table of features' actions
+ */
+byte feature_action_flags[FF_FLAG_MAX] =
+{
+       0, /* LOS */
+       0, /* PROJECT */
+       0, /* MOVE */
+       0, /* PLACE */
+       0, /* DROP */
+       0, /* SECRET */
+       0, /* NOTICE */
+       0, /* REMEMBER */
+       0, /* OPEN */
+       0, /* CLOSE */
+       FAF_CRASH_GLASS, /* BASH */
+       0, /* SPIKE */
+       FAF_DESTROY, /* DISARM */
+       0, /* STORE */
+       FAF_DESTROY | FAF_CRASH_GLASS, /* TUNNEL */
+       0, /* MAY_HAVE_GOLD */
+       0, /* HAS_GOLD */
+       0, /* HAS_ITEM */
+       0, /* DOOR */
+       0, /* TRAP */
+       0, /* STAIRS */
+       0, /* GLYPH */
+       0, /* LESS */
+       0, /* MORE */
+       0, /* RUN */
+       0, /* FLOOR */
+       0, /* WALL */
+       0, /* PERMANENT */
+       0, /* INNER */
+       0, /* OUTER */
+       0, /* SOLID */
+       0, /* HIT_TRAP */
+
+       0, /* BRIDGE */
+       0, /* RIVER */
+       0, /* LAKE */
+       0, /* BRIDGED */
+       0, /* COVERED */
+       0, /* GLOW */
+       0, /* ENSECRET */
+       0, /* WATER */
+       0, /* LAVA */
+       0, /* SHALLOW */
+       0, /* DEEP */
+       0, /* FILLED */
+       FAF_DESTROY | FAF_CRASH_GLASS, /* HURT_ROCK */
+       0, /* HURT_FIRE */
+       0, /* HURT_COLD */
+       0, /* HURT_ACID */
+       0, /* ICE */
+       0, /* ACID */
+       0, /* OIL */
+       0, /* XXX04 */
+       0, /* CAN_CLIMB */
+       0, /* CAN_FLY */
+       0, /* CAN_SWIM */
+       0, /* CAN_PASS */
+       0, /* CAN_OOZE */
+       0, /* CAN_DIG */
+       0, /* HIDE_ITEM */
+       0, /* HIDE_SNEAK */
+       0, /* HIDE_SWIM */
+       0, /* HIDE_DIG */
+       0, /* KILL_HUGE */
+       0, /* KILL_MOVE */
+
+       0, /* PICK_TRAP */
+       0, /* PICK_DOOR */
+       0, /* ALLOC */
+       0, /* CHEST */
+       0, /* DROP_1D2 */
+       0, /* DROP_2D2 */
+       0, /* DROP_GOOD */
+       0, /* DROP_GREAT */
+       0, /* HURT_POIS */
+       0, /* HURT_ELEC */
+       0, /* HURT_WATER */
+       0, /* HURT_BWATER */
+       0, /* USE_FEAT */
+       0, /* GET_FEAT */
+       0, /* GROUND */
+       0, /* OUTSIDE */
+       0, /* EASY_HIDE */
+       0, /* EASY_CLIMB */
+       0, /* MUST_CLIMB */
+       0, /* TREE */
+       0, /* NEED_TREE */
+       0, /* BLOOD */
+       0, /* DUST */
+       0, /* SLIME */
+       0, /* PLANT */
+       0, /* XXX2 */
+       0, /* INSTANT */
+       0, /* EXPLODE */
+       0, /* TIMED */
+       0, /* ERUPT */
+       0, /* STRIKE */
+       0, /* SPREAD */
+
+       0, /* SPECIAL */
+       FAF_DESTROY | FAF_NO_DROP | FAF_CRASH_GLASS, /* HURT_DISI */
+       0, /* QUEST_ENTER */
+       0, /* QUEST_EXIT */
+       0, /* QUEST */
+       0, /* SHAFT */
+       0, /* MOUNTAIN */
+       0, /* BLDG */
+       0, /* MINOR_GLYPH */
+       0, /* PATTERN */
+       0, /* TOWN */
+       0, /* ENTRANCE */
+       0, /* MIRROR */
+       0, /* UNPERM */
+       0, /* TELEPORTABLE */
+       0, /* CONVERT */
+       0, /* GLASS */
+};