OSDN Git Service

table.c の整理。
[hengband/hengband.git] / src / tables.c
index 223c336..604dae0 100644 (file)
@@ -1,15 +1,15 @@
 /* File: tables.c */
 
-/* Purpose: Angband Tables */
-
 /*
- * Copyright (c) 1989 James E. Wilson, Robert A. Koeneke
+ * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
  *
- * This software may be copied and distributed for educational, research, and
- * not for profit purposes provided that this copyright and statement are
- * included in all such copies.
+ * This software may be copied and distributed for educational, research,
+ * and not for profit purposes provided that this copyright and statement
+ * are included in all such copies.  Other copyrights may also apply.
  */
 
+/* Purpose: Angband Tables */
+
 #include "angband.h"
 
 
@@ -1119,13 +1119,15 @@ byte adj_chr_chm[] =
  * Rogue         num = 5; mul = 3; div = MAX(40, weapon_weight);
  * Ranger        num = 5; mul = 4; div = MAX(70, weapon_weight);
  * Paladin       num = 5; mul = 4; div = MAX(70, weapon_weight);
- * Kaji          num = 5; mul = 5; div = MAX(150, weapon_weight);
+ * Weaponsmith   num = 5; mul = 5; div = MAX(150, weapon_weight);
  * Warrior-Mage  num = 5; mul = 3; div = MAX(70, weapon_weight);
  * Chaos Warrior num = 5; mul = 4; div = MAX(70, weapon_weight);
  * Monk          num = 5; mul = 3; div = MAX(60, weapon_weight);
  * Tourist       num = 4; mul = 3; div = MAX(100, weapon_weight);
  * Imitator      num = 5; mul = 4; div = MAX(70, weapon_weight);
  * Beastmaster   num = 5; mul = 3; div = MAX(70, weapon_weight);
+ * Cavalry(Ride) num = 5; mul = 4; div = MAX(70, weapon_weight);
+ * Cavalry(Walk) num = 5; mul = 3; div = MAX(100, weapon_weight);
  * Sorcerer      num = 1; mul = 1; div = MAX(1, weapon_weight);
  * Archer        num = 4; mul = 2; div = MAX(70, weapon_weight);
  * Magic eater   num = 4; mul = 2; div = MAX(70, weapon_weight);
@@ -1163,30 +1165,53 @@ 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_LION_HEART,    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 }
@@ -1210,11 +1235,11 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
  */
 
 #ifdef JP
-                { "¥Õ¥ì¥ó¥É¥ê¡¼¤Ê¥Ó¥ë¥Ü",       200,    170,  108,   5,  15,  RACE_HOBBIT},
+               { "¥Õ¥ì¥ó¥É¥ê¡¼¤Ê¥Ó¥ë¥Ü",       200,    170,  108,   5,  15,  RACE_HOBBIT},
 /*                { "²±É¼ԥ饹¥È¥ê¥ó",       200,    175,  108,   4,  12,  RACE_HUMAN},  */
-                { "²±É¼ԥê¥ó¥¹¥¦¥£¥ó¥É",       200,    175,  108,   4,  12,  RACE_HUMAN}, 
-                { "ÇؤÎÄ㤤¥µ¥ë¥¿¥ó",             300,    170,  107,   5,  15,  RACE_GNOME},
-                { "¥Ï¥ó¥µ¥à¤Ê¥é¥¤¥¢=¥¨¥ë",      300,    165,  107,   6,  18,  RACE_ELF},
+               { "²±É¼ԥê¥ó¥¹¥¦¥£¥ó¥É",       200,    175,  108,   4,  12,  RACE_HUMAN}, 
+               { "ÇؤÎÄ㤤¥µ¥ë¥¿¥ó",             300,    170,  107,   5,  15,  RACE_GNOME},
+               { "¥Ï¥ó¥µ¥à¤Ê¥é¥¤¥¢=¥¨¥ë",      300,    165,  107,   6,  18,  RACE_ELF},
 #else
                { "Bilbo the Friendly",         200,    170, 108,  5, 15, RACE_HOBBIT},
 /*             { "Raistlin the Chicken",       200,    175, 108,  4, 12, RACE_HUMAN}, */
@@ -1367,10 +1392,10 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
        {
                /* Armoury - 28 unique names */
 #ifdef JP
-                { "½¹°­¥³¥ó=¥À¡¼",      5000,   210,  115,   5,   7,  RACE_HALF_ORC},
-                { "´è¸Ç¼Ô¥À¡¼¥°=¥í¥¦",  10000,  190,  111,   4,   9,  RACE_HUMAN},
-                { "¸­¼Ô¥Ç¥«¥É",                 25000,  200,  112,   4,  10,  RACE_DUNADAN},
-                { "ÃÃÌê²°¤Î¥¦¥£¡¼¥é¥ó¥É",   30000,  200,  112,   4,   5,  RACE_DWARF},
+               { "½¹°­¥³¥ó=¥À¡¼",      5000,   210,  115,   5,   7,  RACE_HALF_ORC},
+               { "´è¸Ç¼Ô¥À¡¼¥°=¥í¥¦",  10000,  190,  111,   4,   9,  RACE_HUMAN},
+               { "¸­¼Ô¥Ç¥«¥É",                 25000,  200,  112,   4,  10,  RACE_DUNADAN},
+               { "ÃÃÌê²°¤Î¥¦¥£¡¼¥é¥ó¥É",   30000,  200,  112,   4,   5,  RACE_DWARF},
 #else
                { "Kon-Dar the Ugly",           5000,   210, 115,  5,  7, RACE_HALF_ORC},
                { "Darg-Low the Grim",          10000,  190, 111,  4,  9, RACE_HUMAN},
@@ -1394,9 +1419,9 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Decado the Handsome",            25000,  200, 112,  4, 10, RACE_AMBERITE},
 #endif
 #ifdef JP
-        { "¥¨¥í¡¼¡¦¥É¥é¥´¥ó¥¹¥±¥¤¥ë",          30000,  200, 112,  4,  5, RACE_ELF},
+       { "¥¨¥í¡¼¡¦¥É¥é¥´¥ó¥¹¥±¥¤¥ë",          30000,  200, 112,  4,  5, RACE_ELF},
 #else
-        { "Elo Dragonscale",          30000,  200, 112,  4,  5, RACE_ELF},
+       { "Elo Dragonscale",          30000,  200, 112,  4,  5, RACE_ELF},
 #endif
 #ifdef JP
 { "¥Ç¥ê¥«¥È¥¹",           10000,   210, 115,  5,  7, RACE_SPRITE},
@@ -1414,9 +1439,9 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Animus",            25000,  200, 112,  4, 10, RACE_GOLEM},
 #endif
 #ifdef JP
-        { "¥Þ¥ë¥ô¥¡¥¹",          30000,  200, 112,  4,  5, RACE_HALF_TITAN},
+       { "¥Þ¥ë¥ô¥¡¥¹",          30000,  200, 112,  4,  5, RACE_HALF_TITAN},
 #else
-        { "Malvus",          30000,  200, 112,  4,  5, RACE_HALF_TITAN},
+       { "Malvus",          30000,  200, 112,  4,  5, RACE_HALF_TITAN},
 #endif
 #ifdef JP
 { "¥»¥é¥¯¥·¥¹",           10000,   210, 115,  5,  7, RACE_ZOMBIE},
@@ -1434,9 +1459,9 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Drios the Faint",            25000,  200, 112,  4, 10, RACE_SPECTRE},
 #endif
 #ifdef JP
-        { "Î䤿¤¤¥Ð¥¹¥ê¥Ã¥¯",          30000,  200, 112,  4,  5, RACE_VAMPIRE},
+       { "Î䤿¤¤¥Ð¥¹¥ê¥Ã¥¯",          30000,  200, 112,  4,  5, RACE_VAMPIRE},
 #else
-        { "Bathric the Cold",          30000,  200, 112,  4,  5, RACE_VAMPIRE},
+       { "Bathric the Cold",          30000,  200, 112,  4,  5, RACE_VAMPIRE},
 #endif
 #ifdef JP
 { "Îä¹ó¥ô¥§¥ó¥¸¥§¥é",           10000,   210, 115,  5,  7, RACE_HALF_TROLL},
@@ -1454,9 +1479,9 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Yojo II",            25000,  200, 112,  4, 10, RACE_DWARF},
 #endif
 #ifdef JP
-        { "Í¥¤·¤¤¥é¥Ê¥é¡¼",          30000,  200, 112,  4,  5, RACE_AMBERITE},
+       { "Í¥¤·¤¤¥é¥Ê¥é¡¼",          30000,  200, 112,  4,  5, RACE_AMBERITE},
 #else
-        { "Ranalar the Sweet",          30000,  200, 112,  4,  5, RACE_AMBERITE},
+       { "Ranalar the Sweet",          30000,  200, 112,  4,  5, RACE_AMBERITE},
 #endif
 #ifdef JP
 { "ÉÔ¾ô¤Î¥Û¥ë¥Ð¥°",           5000,   210, 115,  5,  7, RACE_HALF_ORC},
@@ -1474,9 +1499,9 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Isedrelias",            25000,  200, 112,  4, 10, RACE_SPRITE},
 #endif
 #ifdef JP
-        { "°ì¤ÄÌÜ¥ô¥§¥°¥Ê¡¼",          5000,  200, 112,  4,  5, RACE_CYCLOPS},
+       { "°ì¤ÄÌÜ¥ô¥§¥°¥Ê¡¼",          5000,  200, 112,  4,  5, RACE_CYCLOPS},
 #else
-        { "Vegnar One-eye",          5000,  200, 112,  4,  5, RACE_CYCLOPS},
+       { "Vegnar One-eye",          5000,  200, 112,  4,  5, RACE_CYCLOPS},
 #endif
 #ifdef JP
 { "º®Æ٤Υí¥Ç¥£¥Ã¥·¥å",           10000,   210, 115,  5,  7, RACE_BEASTMAN},
@@ -1494,9 +1519,9 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Elvererith the Cheat",           10000,  200, 112,  4, 10, RACE_DARK_ELF},
 #endif
 #ifdef JP
-        { "¥¤¥ó¥×¤Î¥¶¥µ¥¹",          30000,  200, 112,  4,  5, RACE_IMP},
+       { "¥¤¥ó¥×¤Î¥¶¥µ¥¹",          30000,  200, 112,  4,  5, RACE_IMP},
 #else
-        { "Zzathath the Imp",          30000,  200, 112,  4,  5, RACE_IMP},
+       { "Zzathath the Imp",          30000,  200, 112,  4,  5, RACE_IMP},
 #endif
 #ifdef JP
 { "½¹°­¥³¥ó=¥À¡¼",           5000,   210, 115,  5,  7, RACE_HALF_ORC},
@@ -1522,10 +1547,10 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
        {
                /* Weapon Smith - 28 unique names */
 #ifdef JP
-                { "»ÄǦ¤Ê¤ë¥¢¡¼¥Î¥ë¥É",        5000,   210,  115,   6,   6,  RACE_HALF_TROLL},
-                { "½Ã»¦¤·¤Î¥¢¡¼¥ó¥À¥ë", 10000,  185,  110,   5,   9,  RACE_HALF_ELF},
-                { "½Ã¥Þ¥¹¥¿¡¼¤Î¥¨¥Ç¥£¡¼", 25000,  190,  115,   5,   7,  RACE_HOBBIT},
-                { "廦¤·¤Î¥ª¥°¥é¥¤¥ó", 30000,  195,  112,   4,   8,  RACE_DWARF},
+               { "»ÄǦ¤Ê¤ë¥¢¡¼¥Î¥ë¥É",        5000,   210,  115,   6,   6,  RACE_HALF_TROLL},
+               { "½Ã»¦¤·¤Î¥¢¡¼¥ó¥À¥ë", 10000,  185,  110,   5,   9,  RACE_HALF_ELF},
+               { "½Ã¥Þ¥¹¥¿¡¼¤Î¥¨¥Ç¥£¡¼", 25000,  190,  115,   5,   7,  RACE_HOBBIT},
+               { "廦¤·¤Î¥ª¥°¥é¥¤¥ó", 30000,  195,  112,   4,   8,  RACE_DWARF},
 #else
                { "Arnold the Beastly",      5000,   210, 115,  6,  6, RACE_BARBARIAN},
                { "Arndal Beast-Slayer",        10000,  185, 110,  5,  9, RACE_HALF_ELF},
@@ -1677,10 +1702,10 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
        {
                /* Temple - 22 unique names */
 #ifdef JP
-                { "¼ÁÁǤʥ롼¥É¥ô¥£¥Ò",         5000,   175,  109,   6,  15,  RACE_HUMAN},
-                { "¥Ñ¥é¥Ç¥£¥ó¤Î¥¬¥ó¥Ê¡¼",       10000,  185,  110,   5,  23,  RACE_HUMAN},
-                { "Áª¤Ð¤ì¤·¥È¥ê¥ó",                     25000,  180,  107,   6,  20,  RACE_ELF},
-                { "¸­ÌÀ¤Ê¤ë¥µ¥é¥¹¥È¥í",                     30000,  185,  109,   5,  15,  RACE_DWARF},
+               { "¼ÁÁǤʥ롼¥É¥ô¥£¥Ò",         5000,   175,  109,   6,  15,  RACE_HUMAN},
+               { "¥Ñ¥é¥Ç¥£¥ó¤Î¥¬¥ó¥Ê¡¼",       10000,  185,  110,   5,  23,  RACE_HUMAN},
+               { "Áª¤Ð¤ì¤·¥È¥ê¥ó",                     25000,  180,  107,   6,  20,  RACE_ELF},
+               { "¸­ÌÀ¤Ê¤ë¥µ¥é¥¹¥È¥í",                     30000,  185,  109,   5,  15,  RACE_DWARF},
 #else
                { "Ludwig the Humble",          5000,   175, 109,  6, 15, RACE_DWARF},
                { "Gunnar the Paladin",         10000,  185, 110,  5, 23, RACE_HALF_TROLL},
@@ -1832,10 +1857,10 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
        {
                /* Alchemist - 26 unique names */
 #ifdef JP
-                { "²½³Ø¼Ô¥Þ¥¦¥¶¡¼",             10000,  190,  111,   5,   8,  RACE_HALF_ELF},
-                { "¥«¥ª¥¹¤Î¥¦¥£¥º¥ë",   10000,  190,  110,   6,   8,  RACE_HOBBIT},
-                { "¶¯ÍߥߥÀ¥¹",              15000,  200,  116,   6,   9,  RACE_GNOME},
-                { "Éϼ奸¥ã=¥Õ¥¡¡¼",                   15000,  220,  111,   4,   9,  RACE_ELF},/*FIRST*/
+               { "²½³Ø¼Ô¥Þ¥¦¥¶¡¼",             10000,  190,  111,   5,   8,  RACE_HALF_ELF},
+               { "¥«¥ª¥¹¤Î¥¦¥£¥º¥ë",   10000,  190,  110,   6,   8,  RACE_HOBBIT},
+               { "¶¯ÍߥߥÀ¥¹",              15000,  200,  116,   6,   9,  RACE_GNOME},
+               { "Éϼ奸¥ã=¥Õ¥¡¡¼",                   15000,  220,  111,   4,   9,  RACE_ELF},/*FIRST*/
 #else
                { "Mauser the Chemist",         10000,  190, 111,  5,  8, RACE_HALF_ELF},
                { "Wizzle the Chaotic",         10000,  190, 110,  6,  8, RACE_HOBBIT},
@@ -1844,14 +1869,14 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
 #endif
 
 #ifdef JP
-        { "¥«¥«¥ë¥é¥«¥«¥ë",           15000,  200, 116,  6,  9, RACE_KLACKON},
+       { "¥«¥«¥ë¥é¥«¥«¥ë",           15000,  200, 116,  6,  9, RACE_KLACKON},
 #else
-        { "Kakalrakakal",           15000,  200, 116,  6,  9, RACE_KLACKON},
+       { "Kakalrakakal",           15000,  200, 116,  6,  9, RACE_KLACKON},
 #endif
 #ifdef JP
-        { "Ï£¶â½Ñ»Õ¥¸¥ã¥ë=¥¨¥¹",       15000,  220, 111,  4,  9, RACE_ELF},
+       { "Ï£¶â½Ñ»Õ¥¸¥ã¥ë=¥¨¥¹",       15000,  220, 111,  4,  9, RACE_ELF},
 #else
-        { "Jal-Eth the Alchemist",       15000,  220, 111,  4,  9, RACE_ELF},
+       { "Jal-Eth the Alchemist",       15000,  220, 111,  4,  9, RACE_ELF},
 #endif
 #ifdef JP
 { "ÍÑ¿´¿¼¤¤¥Õ¥¡¥Í¥é¥¹",         10000,  190, 111,  5,  8, RACE_DWARF},
@@ -1864,14 +1889,14 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Runcie the Insane",         10000,  190, 110,  6,  8, RACE_HUMAN},
 #endif
 #ifdef JP
-        { "¥°¥é¥ó¥Ö¥ë¥ï¡¼¥¹",           15000,  200, 116,  6,  9, RACE_GNOME},
+       { "¥°¥é¥ó¥Ö¥ë¥ï¡¼¥¹",           15000,  200, 116,  6,  9, RACE_GNOME},
 #else
-        { "Grumbleworth",           15000,  200, 116,  6,  9, RACE_GNOME},
+       { "Grumbleworth",           15000,  200, 116,  6,  9, RACE_GNOME},
 #endif
 #ifdef JP
-        { "¥Õ¥ê¥Ã¥¿¡¼",       15000,  220, 111,  4,  9, RACE_SPRITE},
+       { "¥Õ¥ê¥Ã¥¿¡¼",       15000,  220, 111,  4,  9, RACE_SPRITE},
 #else
-        { "Flitter",       15000,  220, 111,  4,  9, RACE_SPRITE},
+       { "Flitter",       15000,  220, 111,  4,  9, RACE_SPRITE},
 #endif
 #ifdef JP
 { "¥¶¥ê¥ë¥¹",         10000,  190, 111,  5,  8, RACE_HUMAN},
@@ -1884,14 +1909,14 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Egbert the Old",         10000,  190, 110,  6,  8, RACE_DWARF},
 #endif
 #ifdef JP
-        { "¸Ø¤ê¹â¤­¥ô¥¡¥ê¥ó¥É¥é",           15000,  200, 116,  6,  9, RACE_HIGH_ELF},
+       { "¸Ø¤ê¹â¤­¥ô¥¡¥ê¥ó¥É¥é",           15000,  200, 116,  6,  9, RACE_HIGH_ELF},
 #else
-        { "Valindra the Proud",           15000,  200, 116,  6,  9, RACE_HIGH_ELF},
+       { "Valindra the Proud",           15000,  200, 116,  6,  9, RACE_HIGH_ELF},
 #endif
 #ifdef JP
-        { "Ï£¶â½Ñ»Õ¥¿¥¨¥ó",       15000,  220, 111,  4,  9, RACE_HUMAN},
+       { "Ï£¶â½Ñ»Õ¥¿¥¨¥ó",       15000,  220, 111,  4,  9, RACE_HUMAN},
 #else
-        { "Taen the Alchemist",       15000,  220, 111,  4,  9, RACE_HUMAN},
+       { "Taen the Alchemist",       15000,  220, 111,  4,  9, RACE_HUMAN},
 #endif
 #ifdef JP
 { "¹ª¸À¥«¥¤¥É",         10000,  190, 111,  5,  8, RACE_VAMPIRE},
@@ -1904,14 +1929,14 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Fulir the Dark",         10000,  190, 110,  6,  8, RACE_NIBELUNG},
 #endif
 #ifdef JP
-        { "¼ÁÁǤʥɥà¥ê",           15000,  200, 116,  6,  9, RACE_DWARF},
+       { "¼ÁÁǤʥɥà¥ê",           15000,  200, 116,  6,  9, RACE_DWARF},
 #else
-        { "Domli the Humble",           15000,  200, 116,  6,  9, RACE_DWARF},
+       { "Domli the Humble",           15000,  200, 116,  6,  9, RACE_DWARF},
 #endif
 #ifdef JP
-        { "Ëâ¤Î»Ò¥ä¥¡¥¸¥å¥Ã¥«",       15000,  220, 111,  4,  9, RACE_IMP},
+       { "Ëâ¤Î»Ò¥ä¥¡¥¸¥å¥Ã¥«",       15000,  220, 111,  4,  9, RACE_IMP},
 #else
-        { "Yaarjukka Demonspawn",       15000,  220, 111,  4,  9, RACE_IMP},
+       { "Yaarjukka Demonspawn",       15000,  220, 111,  4,  9, RACE_IMP},
 #endif
 #ifdef JP
 { "ÌôÁð»Õ¥¸¥§¥é¥é¥ë¥É¡¼¥ë",         10000,  190, 111,  5,  8, RACE_HIGH_ELF},
@@ -1924,14 +1949,14 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Olelaldan the Wise",         10000,  190, 110,  6,  8, RACE_BARBARIAN},
 #endif
 #ifdef JP
-        { "¥Ç¥â¥Ë¥·¥¹¥È¤Î¥Õ¥¾¥°¥í",           15000,  200, 116,  6,  9, RACE_IMP},
+       { "¥Ç¥â¥Ë¥·¥¹¥È¤Î¥Õ¥¾¥°¥í",           15000,  200, 116,  6,  9, RACE_IMP},
 #else
-        { "Fthoglo the Demonicist",           15000,  200, 116,  6,  9, RACE_IMP},
+       { "Fthoglo the Demonicist",           15000,  200, 116,  6,  9, RACE_IMP},
 #endif
 #ifdef JP
-        { "Ï£¶â½Ñ»Õ¥É¥¥¥ê¥¢¥·¥å",       15000,  220, 111,  4,  9, RACE_HALF_ORC},
+       { "Ï£¶â½Ñ»Õ¥É¥¥¥ê¥¢¥·¥å",       15000,  220, 111,  4,  9, RACE_HALF_ORC},
 #else
-        { "Dridash the Alchemist",       15000,  220, 111,  4,  9, RACE_HALF_ORC},
+       { "Dridash the Alchemist",       15000,  220, 111,  4,  9, RACE_HALF_ORC},
 #endif
 #ifdef JP
 { "¶¯¼Ô¥Í¥ê¥¢",         10000,  190, 111,  5,  8, RACE_CYCLOPS},
@@ -1944,14 +1969,14 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Lignus the Pungent",         10000,  190, 110,  6,  8, RACE_HALF_ORC},
 #endif
 #ifdef JP
-        { "¥Æ¥£¥ë¥Ð",           15000,  200, 116,  6,  9, RACE_HOBBIT},
+       { "¥Æ¥£¥ë¥Ð",           15000,  200, 116,  6,  9, RACE_HOBBIT},
 #else
-        { "Tilba",           15000,  200, 116,  6,  9, RACE_HOBBIT},
+       { "Tilba",           15000,  200, 116,  6,  9, RACE_HOBBIT},
 #endif
 #ifdef JP
-        { "¶â»ý¤Á¥ß¥ê¥ë¥É¥ê¥Ã¥¯",       15000,  220, 111,  4,  9, RACE_HUMAN},
+       { "¶â»ý¤Á¥ß¥ê¥ë¥É¥ê¥Ã¥¯",       15000,  220, 111,  4,  9, RACE_HUMAN},
 #else
-        { "Myrildric the Wealthy",       15000,  220, 111,  4,  9, RACE_HUMAN},
+       { "Myrildric the Wealthy",       15000,  220, 111,  4,  9, RACE_HUMAN},
 #endif
 #ifdef JP
 { "²Ê³Ø¼Ô¥Þ¥¦¥¶¡¼",         10000,  190, 111,  5,  8, RACE_HALF_ELF},
@@ -1974,23 +1999,23 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Ja-Far the Alchemist",       15000,  220, 111,  4,  9, RACE_ELF},
 #endif
 #ifdef JP
-        { "¥«¥«¥ë¥é¥«¥«¥ë",           15000,  200, 116,  6,  9, RACE_KLACKON},
+       { "¥«¥«¥ë¥é¥«¥«¥ë",           15000,  200, 116,  6,  9, RACE_KLACKON},
 #else
-        { "Kakalrakakal",           15000,  200, 116,  6,  9, RACE_KLACKON},
+       { "Kakalrakakal",           15000,  200, 116,  6,  9, RACE_KLACKON},
 #endif
 #ifdef JP
-        { "Ï£¶â½Ñ»Õ¥¸¥ã¥ë=¥¨¥¹",       15000,  220, 111,  4,  9, RACE_ELF},
+       { "Ï£¶â½Ñ»Õ¥¸¥ã¥ë=¥¨¥¹",       15000,  220, 111,  4,  9, RACE_ELF},
 #else
-        { "Jal-Eth the Alchemist",       15000,  220, 111,  4,  9, RACE_ELF},
+       { "Jal-Eth the Alchemist",       15000,  220, 111,  4,  9, RACE_ELF},
 #endif
        },
        {
                /* Magic Shop - 23 unique names */
 #ifdef JP
-                { "¥½¡¼¥µ¥é¡¼¤Î¥í=¥Ñ¥ó",       20000,  200,  110,   7,   8,  RACE_HALF_ELF},
-                { "°ÎÂç¤Ê¤ë¥Ö¥¬¡¼¥Ó¥¤",         20000,  215,  113,   6,  10,  RACE_GNOME},
-                { "¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤",     30000,  200,  110,   7,  10,  RACE_HUMAN},
-                { "»àÎî»È¤¤¥ê¥ã¥¯",30000,      175,  110,   5,  11,  RACE_HIGH_ELF},
+               { "¥½¡¼¥µ¥é¡¼¤Î¥í=¥Ñ¥ó",       20000,  200,  110,   7,   8,  RACE_HALF_ELF},
+               { "°ÎÂç¤Ê¤ë¥Ö¥¬¡¼¥Ó¥¤",         20000,  215,  113,   6,  10,  RACE_GNOME},
+               { "¥¤¥§¥ó¥À¡¼¤ÎËâË¡»È¤¤",     30000,  200,  110,   7,  10,  RACE_HUMAN},
+               { "»àÎî»È¤¤¥ê¥ã¥¯",30000,      175,  110,   5,  11,  RACE_HIGH_ELF},
 #else
                { "Lo Pan the Sorcerer",        20000,  200, 110,  7,  8, RACE_HALF_ELF},
                { "Buggerby the Great",         20000,  215, 113,  6, 10, RACE_GNOME},
@@ -1999,24 +2024,24 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
 #endif
 
 #ifdef JP
-        { "Ëâ½Ñ»Õ¥¹¥­¥É¥¥¥Ë¡¼",        15000,  200, 110,  7,  8, RACE_HALF_ELF},
+       { "Ëâ½Ñ»Õ¥¹¥­¥É¥¥¥Ë¡¼",        15000,  200, 110,  7,  8, RACE_HALF_ELF},
 #else
-        { "Skidney the Sorcerer",        15000,  200, 110,  7,  8, RACE_HALF_ELF},
+       { "Skidney the Sorcerer",        15000,  200, 110,  7,  8, RACE_HALF_ELF},
 #endif
 #ifdef JP
-        { "¸¸½Ñ»Õ¥­¥ê¥¢",       30000,  200, 110,  7, 10, RACE_HUMAN},
+       { "¸¸½Ñ»Õ¥­¥ê¥¢",       30000,  200, 110,  7, 10, RACE_HUMAN},
 #else
-        { "Kyria the Illusionist",       30000,  200, 110,  7, 10, RACE_HUMAN},
+       { "Kyria the Illusionist",       30000,  200, 110,  7, 10, RACE_HUMAN},
 #endif
 #ifdef JP
-        { "»àÎî½Ñ»Õ¥Ë¥Ã¥­",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
+       { "»àÎî½Ñ»Õ¥Ë¥Ã¥­",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #else
-        { "Nikki the Necromancer",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
+       { "Nikki the Necromancer",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #endif
 #ifdef JP
-        { "¥½¥í¥¹¥È¥é¥ó",        15000,  200, 110,  7,  8, RACE_SPRITE},
+       { "¥½¥í¥¹¥È¥é¥ó",        15000,  200, 110,  7,  8, RACE_SPRITE},
 #else
-        { "Solostoran",        15000,  200, 110,  7,  8, RACE_SPRITE},
+       { "Solostoran",        15000,  200, 110,  7,  8, RACE_SPRITE},
 #endif
 #ifdef JP
 { "±¨Â±¸ý¥¢¥Á¥·¥§",         20000,  215, 113,  6, 10, RACE_MIND_FLAYER},
@@ -2024,19 +2049,19 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Achshe the Tentacled",         20000,  215, 113,  6, 10, RACE_MIND_FLAYER},
 #endif
 #ifdef JP
-        { "µ®Â²¤Î¥«¥¶",       30000,  200, 110,  7, 10, RACE_HIGH_ELF},
+       { "µ®Â²¤Î¥«¥¶",       30000,  200, 110,  7, 10, RACE_HIGH_ELF},
 #else
-        { "Kaza the Noble",       30000,  200, 110,  7, 10, RACE_HIGH_ELF},
+       { "Kaza the Noble",       30000,  200, 110,  7, 10, RACE_HIGH_ELF},
 #endif
 #ifdef JP
-        { "°Å¤­¥Õ¥¡¥¸¥ë",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
+       { "°Å¤­¥Õ¥¡¥¸¥ë",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #else
-        { "Fazzil the Dark",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
+       { "Fazzil the Dark",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #endif
 #ifdef JP
-        { "°ÎÂç¤Ê¤ë¥±¥ë¥É¡¼¥ó",        15000,  200, 110,  7,  8, RACE_DWARF},
+       { "°ÎÂç¤Ê¤ë¥±¥ë¥É¡¼¥ó",        15000,  200, 110,  7,  8, RACE_DWARF},
 #else
-        { "Keldorn the Grand",        15000,  200, 110,  7,  8, RACE_DWARF},
+       { "Keldorn the Grand",        15000,  200, 110,  7,  8, RACE_DWARF},
 #endif
 #ifdef JP
 { "¥Õ¥£¥é¥ó¥¹¥í¥×¥¹",         20000,  215, 113,  6, 10, RACE_HOBBIT},
@@ -2044,19 +2069,19 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Philanthropus",         20000,  215, 113,  6, 10, RACE_HOBBIT},
 #endif
 #ifdef JP
-        { "Ëâ½÷¤Î¥¢¥°¥Ê¡¼",       30000,  200, 110,  7, 10, RACE_HUMAN},
+       { "Ëâ½÷¤Î¥¢¥°¥Ê¡¼",       30000,  200, 110,  7, 10, RACE_HUMAN},
 #else
-        { "Agnar the Enchantress",       30000,  200, 110,  7, 10, RACE_HUMAN},
+       { "Agnar the Enchantress",       30000,  200, 110,  7, 10, RACE_HUMAN},
 #endif
 #ifdef JP
-        { "»àÎî½Ñ»Õ¥Ó¥å¥ê¥¢¥ó¥¹",       30000,  175, 110,  5, 11, RACE_BEASTMAN},
+       { "»àÎî½Ñ»Õ¥Ó¥å¥ê¥¢¥ó¥¹",       30000,  175, 110,  5, 11, RACE_BEASTMAN},
 #else
-        { "Buliance the Necromancer",       30000,  175, 110,  5, 11, RACE_BEASTMAN},
+       { "Buliance the Necromancer",       30000,  175, 110,  5, 11, RACE_BEASTMAN},
 #endif
 #ifdef JP
-        { "¥Ï¥¤¥á¥¤¥¸¤Î¥ô¥¤¥é¥¯",        15000,  200, 110,  7,  8, RACE_BEASTMAN},
+       { "¥Ï¥¤¥á¥¤¥¸¤Î¥ô¥¤¥é¥¯",        15000,  200, 110,  7,  8, RACE_BEASTMAN},
 #else
-        { "Vuirak the High-Mage",        15000,  200, 110,  7,  8, RACE_BEASTMAN},
+       { "Vuirak the High-Mage",        15000,  200, 110,  7,  8, RACE_BEASTMAN},
 #endif
 #ifdef JP
 { "Ãηüԥޥǥ£¥Ã¥·¥å",         20000,  215, 113,  6, 10, RACE_BEASTMAN},
@@ -2064,19 +2089,19 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Madish the Smart",         20000,  215, 113,  6, 10, RACE_BEASTMAN},
 #endif
 #ifdef JP
-        { "¥Õ¥¡¥ì¥Ö¥ê¥ó¥Ü¡¼¥ë",       30000,  200, 110,  7, 10, RACE_HIGH_ELF},
+       { "¥Õ¥¡¥ì¥Ö¥ê¥ó¥Ü¡¼¥ë",       30000,  200, 110,  7, 10, RACE_HIGH_ELF},
 #else
-        { "Falebrimbor",       30000,  200, 110,  7, 10, RACE_HIGH_ELF},
+       { "Falebrimbor",       30000,  200, 110,  7, 10, RACE_HIGH_ELF},
 #endif
 #ifdef JP
-        { "±¢¸±¥Õ¥§¥ê¥ë=¥¬¥ó¥É",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
+       { "±¢¸±¥Õ¥§¥ê¥ë=¥¬¥ó¥É",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #else
-        { "Felil-Gand the Subtle",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
+       { "Felil-Gand the Subtle",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #endif
 #ifdef JP
-        { "¼ö½Ñ»Õ¥µ¥ì¥´¡¼¥É",        15000,  200, 110,  7,  8, RACE_BARBARIAN},
+       { "¼ö½Ñ»Õ¥µ¥ì¥´¡¼¥É",        15000,  200, 110,  7,  8, RACE_BARBARIAN},
 #else
-        { "Thalegord the Shaman",        15000,  200, 110,  7,  8, RACE_BARBARIAN},
+       { "Thalegord the Shaman",        15000,  200, 110,  7,  8, RACE_BARBARIAN},
 #endif
 #ifdef JP
 { "¿ÀÈë²È¥¯¥È¥¥¥¢¥í¥¹",         20000,  215, 113,  6, 10, RACE_MIND_FLAYER},
@@ -2084,14 +2109,14 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Cthoaloth the Mystic",         20000,  215, 113,  6, 10, RACE_MIND_FLAYER},
 #endif
 #ifdef JP
-        { "¸¸½Ñ»Õ¥¤¥Ù¥ê",       30000,  200, 110,  7, 10, RACE_SKELETON},
+       { "¸¸½Ñ»Õ¥¤¥Ù¥ê",       30000,  200, 110,  7, 10, RACE_SKELETON},
 #else
-        { "Ibeli the Illusionist",       30000,  200, 110,  7, 10, RACE_SKELETON},
+       { "Ibeli the Illusionist",       30000,  200, 110,  7, 10, RACE_SKELETON},
 #endif
 #ifdef JP
-        { "»àÎî½Ñ»Õ¥Ø¥È¡¼",       30000,  175, 110,  5, 11, RACE_YEEK},
+       { "»àÎî½Ñ»Õ¥Ø¥È¡¼",       30000,  175, 110,  5, 11, RACE_YEEK},
 #else
-        { "Heto the Necromancer",       30000,  175, 110,  5, 11, RACE_YEEK},
+       { "Heto the Necromancer",       30000,  175, 110,  5, 11, RACE_YEEK},
 #endif
 #ifdef JP
 { "Ëâ½Ñ»Õ¥í=¥Ñ¥ó",        20000,  200, 110,  7,  8, RACE_HALF_ELF},
@@ -2114,24 +2139,24 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
                { "Rjak the Necromancer",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #endif
 #ifdef JP
-        { "Ëâ½Ñ»Õ¥¹¥­¥É¥¥¥Ë¡¼",        15000,  200, 110,  7,  8, RACE_HALF_ELF},
+       { "Ëâ½Ñ»Õ¥¹¥­¥É¥¥¥Ë¡¼",        15000,  200, 110,  7,  8, RACE_HALF_ELF},
 #else
-        { "Skidney the Sorcerer",        15000,  200, 110,  7,  8, RACE_HALF_ELF},
+       { "Skidney the Sorcerer",        15000,  200, 110,  7,  8, RACE_HALF_ELF},
 #endif
 #ifdef JP
-        { "¸¸½Ñ»Õ¥­¥ê¥¢",       30000,  200, 110,  7, 10, RACE_HUMAN},
+       { "¸¸½Ñ»Õ¥­¥ê¥¢",       30000,  200, 110,  7, 10, RACE_HUMAN},
 #else
-        { "Kyria the Illusionist",       30000,  200, 110,  7, 10, RACE_HUMAN},
+       { "Kyria the Illusionist",       30000,  200, 110,  7, 10, RACE_HUMAN},
 #endif
 #ifdef JP
-        { "»àÎî½Ñ»Õ¥Ë¥Ã¥­",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
+       { "»àÎî½Ñ»Õ¥Ë¥Ã¥­",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #else
-        { "Nikki the Necromancer",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
+       { "Nikki the Necromancer",       30000,  175, 110,  5, 11, RACE_DARK_ELF},
 #endif
 #ifdef JP
-        { "¥½¥í¥¹¥È¥é¥ó",        15000,  200, 110,  7,  8, RACE_SPRITE},
+       { "¥½¥í¥¹¥È¥é¥ó",        15000,  200, 110,  7,  8, RACE_SPRITE},
 #else
-        { "Solostoran",        15000,  200, 110,  7,  8, RACE_SPRITE},
+       { "Solostoran",        15000,  200, 110,  7,  8, RACE_SPRITE},
 #endif
 #ifdef JP
 { "±¨Â±¸ý¥¢¥Á¥·¥§",         20000,  215, 113,  6, 10, RACE_MIND_FLAYER},
@@ -2142,155 +2167,70 @@ owner_type owners[MAX_STORES][MAX_OWNERS] =
        {
                /* Black Market - 32 unique names */
 #ifdef JP
-                { "¥¬¥ê¡¼=¥®¥¬¥º",            20000,  250,  150,  10,   5,  RACE_HALF_TROLL},
-                { "¥´¥Ö¥ê¥ó¤Î¥Ò¥¹¥È¡¼¥¢",       20000,  250,  150,  10,   5,  RACE_HALF_ORC},
-                { "¥Õ¥§¥ì¥ó¥®¿Í¥¯¥¢¡¼¥¯",           30000,  250,  150,  10,   5,  RACE_HUMAN},
-                { "¸øÀµ¤Ê¤ë(?)¥È¥Ã¥Ô",                     30000,  250,  150,  10,   5,  RACE_ELF},
+               { "¥¬¥ê¡¼=¥®¥¬¥º",            20000,  250,  150,  10,   5,  RACE_HALF_TROLL},
+               { "¥´¥Ö¥ê¥ó¤Î¥Ò¥¹¥È¡¼¥¢",       20000,  250,  150,  10,   5,  RACE_HALF_ORC},
+               { "¥Õ¥§¥ì¥ó¥®¿Í¥¯¥¢¡¼¥¯",           30000,  250,  150,  10,   5,  RACE_HUMAN},
+               { "¸øÀµ¤Ê¤ë(?)¥È¥Ã¥Ô",                     30000,  250,  150,  10,   5,  RACE_ELF},
+               { "»à¿Í¥ô¥¡¥Ã¥µ",             20000,  250, 150, 10,  5, RACE_ZOMBIE},
+               { "΢ÀÚ¤ê¼Ô¥«¥¤¥ó",          20000,  250, 150, 10,  5, RACE_VAMPIRE},
+               { "¥Ö¥Ü¥Ë¥«¥¹",          30000,  250, 150, 10,  5, RACE_BEASTMAN},
+               { "¥³¡¼¥×¥¹¥é¥¤¥È",           30000,  250, 150, 10,  5, RACE_SPECTRE},
+               { "·ì¤Ëµ²¤¨¤·¥Ñ¥ê¥Ã¥·¥å",                 20000,  250, 150, 10,  5, RACE_VAMPIRE},
+               { "¥ô¥¡¥¤¥ë",          20000,  250, 150, 10,  5, RACE_SKELETON},
+               { "¿®Íê¤Î¥×¥ì¥ó¥Æ¥£¥¹",          30000,  250, 150, 10,  5, RACE_SKELETON},
+               { "¿Í´Ö»¦¤·¤Î¥°¥ê¥¨¥é",           30000,  250, 150, 10,  5, RACE_IMP},
+               { "¥¨¥ó¥¸¥§¥ë",                 20000,  250, 150, 10,  5, RACE_VAMPIRE},
+               { "¿åËĤì¥Õ¥í¥Ä¥¡¥à",          20000,  250, 150, 10,  5, RACE_ZOMBIE},
+               { "¥Ë¡¼¥ô¥¡¥ë",          30000,  250, 150, 10,  5, RACE_VAMPIRE},
+               { "ÌÀ¤ë¤¤¥¢¥Ê¥¹¥¿¥·¥¢",           30000,  250, 150, 10,  5, RACE_SPECTRE},
+               { "»àÎî½Ñ»Õ¥Á¥ã¥ê¥Æ¥£¡¼", 20000,  250, 150, 10,  5, RACE_DARK_ELF},
+               { "¥Ü¥¯¥µ¡¼¤Î¥×¥°¥Ê¥·¥ª¥¹",          20000,  250, 150, 10,  5, RACE_HALF_ORC},
+               { "¹¬±¿¤Ê¥Õ¥Ã¥È¥½¥¢",          30000,  250, 150, 10,  5, RACE_BEASTMAN},
+               { "¸÷»Ø¤Î¥·¥É¥ê¥¢",           30000,  250, 150, 10,  5, RACE_HUMAN},
+               { "¼êÉʻեꥢ¥½¡¼",                 20000,  250, 150, 10,  5, RACE_HOBBIT},
+               { "¤ä¤ê¤¯¤ê¾å¼ê¤Î¥¸¥ã¥Ê¥Ã¥«",          20000,  250, 150, 10,  5, RACE_GNOME},
+               { "°­ÅÞ¥·¡¼¥Ê",          30000,  250, 150, 10,  5, RACE_GNOME},
+               { "ÂçÄÞ¥¢¥ë¥Ë¥Ã¥­",           30000,  250, 150, 10,  5, RACE_DRACONIAN},
+               { "ÉÏ˳¥Á¥ã¥¨¥¢¥ó¥É",                 20000,  250, 150, 10,  5, RACE_HUMAN},
+               { "»³Â±¥¢¥Õ¥¡¡¼¥É¡¼¥Õ",          20000,  250, 150, 10,  5, RACE_BARBARIAN},
+               { "¶¯Íߥ饶¥¯¥¹¥ë",          30000,  250, 150, 10,  5, RACE_MIND_FLAYER},
+               { "¥Õ¥¡¥é¥ì¥¦¥£¥ó",           30000,  250, 150, 10,  5, RACE_SPRITE},
+               { "¤·¤ï¤·¤ï¥ô¥©¥¹¡¼¥ë",                 20000,  250, 150, 10,  5, RACE_NIBELUNG},
+               { "¥Ï¥ó¥µ¥à¤Ê¥¢¥é¥ª¡¼¥É",          20000,  250, 150, 10,  5, RACE_AMBERITE},
+               { "É餱¸¤¥»¥é¥É¥Õ¥ê¥É",          30000,  250, 150, 10,  5, RACE_HUMAN},
+               { "ÊÒ­¤Î¥¨¥ë¡¼¥í",           30000,  250, 150, 10,  5, RACE_HALF_OGRE},
 #else
                { "Gary Gygaz",                 20000,  250, 150, 10,  5, RACE_HALF_TROLL},
                { "Histor the Goblin",          20000,  250, 150, 10,  5, RACE_HALF_ORC},
                { "Quark the Ferengi",          30000,  250, 150, 10,  5, RACE_DWARF},
                { "Topi the Fair(?)",           30000,  250, 150, 10,  5, RACE_HUMAN},
-#endif
-
-#ifdef JP
-{ "»à¿Í¥ô¥¡¥Ã¥µ",             20000,  250, 150, 10,  5, RACE_ZOMBIE},
-#else
                { "Vhassa the Dead",             20000,  250, 150, 10,  5, RACE_ZOMBIE},
-#endif
-#ifdef JP
-{ "΢ÀÚ¤ê¼Ô¥«¥¤¥ó",          20000,  250, 150, 10,  5, RACE_VAMPIRE},
-#else
                { "Kyn the Treacherous",          20000,  250, 150, 10,  5, RACE_VAMPIRE},
-#endif
-#ifdef JP
-{ "¥Ö¥Ü¥Ë¥«¥¹",          30000,  250, 150, 10,  5, RACE_BEASTMAN},
-#else
                { "Bubonicus",          30000,  250, 150, 10,  5, RACE_BEASTMAN},
-#endif
-#ifdef JP
-{ "¥³¡¼¥×¥¹¥é¥¤¥È",           30000,  250, 150, 10,  5, RACE_SPECTRE},
-#else
                { "Corpselight",           30000,  250, 150, 10,  5, RACE_SPECTRE},
-#endif
-#ifdef JP
-{ "·ì¤Ëµ²¤¨¤·¥Ñ¥ê¥Ã¥·¥å",                 20000,  250, 150, 10,  5, RACE_VAMPIRE},
-#else
                { "Parrish the Bloodthirsty",                 20000,  250, 150, 10,  5, RACE_VAMPIRE},
-#endif
-#ifdef JP
-{ "¥ô¥¡¥¤¥ë",          20000,  250, 150, 10,  5, RACE_SKELETON},
-#else
                { "Vile",          20000,  250, 150, 10,  5, RACE_SKELETON},
-#endif
-#ifdef JP
-{ "¿®Íê¤Î¥×¥ì¥ó¥Æ¥£¥¹",          30000,  250, 150, 10,  5, RACE_SKELETON},
-#else
                { "Prentice the Trusted",          30000,  250, 150, 10,  5, RACE_SKELETON},
-#endif
-#ifdef JP
-{ "¿Í´Ö»¦¤·¤Î¥°¥ê¥¨¥é",           30000,  250, 150, 10,  5, RACE_IMP},
-#else
                { "Griella Humanslayer",           30000,  250, 150, 10,  5, RACE_IMP},
-#endif
-#ifdef JP
-{ "¥¨¥ó¥¸¥§¥ë",                 20000,  250, 150, 10,  5, RACE_VAMPIRE},
-#else
                { "Angel",                 20000,  250, 150, 10,  5, RACE_VAMPIRE},
-#endif
-#ifdef JP
-{ "¿åËĤì¥Õ¥í¥Ä¥¡¥à",          20000,  250, 150, 10,  5, RACE_ZOMBIE},
-#else
                { "Flotsam the Bloated",          20000,  250, 150, 10,  5, RACE_ZOMBIE},
-#endif
-#ifdef JP
-{ "¥Ë¡¼¥ô¥¡¥ë",          30000,  250, 150, 10,  5, RACE_VAMPIRE},
-#else
                { "Nieval",          30000,  250, 150, 10,  5, RACE_VAMPIRE},
-#endif
-#ifdef JP
-{ "ÌÀ¤ë¤¤¥¢¥Ê¥¹¥¿¥·¥¢",           30000,  250, 150, 10,  5, RACE_SPECTRE},
-#else
                { "Anastasia the Luminous",           30000,  250, 150, 10,  5, RACE_SPECTRE},
-#endif
-#ifdef JP
-{ "»àÎî½Ñ»Õ¥Á¥ã¥ê¥Æ¥£¡¼", 20000,  250, 150, 10,  5, RACE_DARK_ELF},
-#else
                { "Charity the Necromancer", 20000,  250, 150, 10,  5, RACE_DARK_ELF},
-#endif
-#ifdef JP
-{ "¥Ü¥¯¥µ¡¼¤Î¥×¥°¥Ê¥·¥ª¥¹",          20000,  250, 150, 10,  5, RACE_HALF_ORC},
-#else
                { "Pugnacious the Pugilist",          20000,  250, 150, 10,  5, RACE_HALF_ORC},
-#endif
-#ifdef JP
-{ "¹¬±¿¤Ê¥Õ¥Ã¥È¥½¥¢",          30000,  250, 150, 10,  5, RACE_BEASTMAN},
-#else
                { "Footsore the Lucky",          30000,  250, 150, 10,  5, RACE_BEASTMAN},
-#endif
-#ifdef JP
-{ "¸÷»Ø¤Î¥·¥É¥ê¥¢",           30000,  250, 150, 10,  5, RACE_HUMAN},
-#else
                { "Sidria Lighfingered",           30000,  250, 150, 10,  5, RACE_HUMAN},
-#endif
-#ifdef JP
-{ "¼êÉʻեꥢ¥½¡¼",                 20000,  250, 150, 10,  5, RACE_HOBBIT},
-#else
                { "Riatho the Juggler",                 20000,  250, 150, 10,  5, RACE_HOBBIT},
-#endif
-#ifdef JP
-{ "¤ä¤ê¤¯¤ê¾å¼ê¤Î¥¸¥ã¥Ê¥Ã¥«",          20000,  250, 150, 10,  5, RACE_GNOME},
-#else
                { "Janaaka the Shifty",          20000,  250, 150, 10,  5, RACE_GNOME},
-#endif
-#ifdef JP
-{ "°­ÅÞ¥·¡¼¥Ê",          30000,  250, 150, 10,  5, RACE_GNOME},
-#else
                { "Cina the Rogue",          30000,  250, 150, 10,  5, RACE_GNOME},
-#endif
-#ifdef JP
-{ "ÂçÄÞ¥¢¥ë¥Ë¥Ã¥­",           30000,  250, 150, 10,  5, RACE_DRACONIAN},
-#else
                { "Arunikki Greatclaw",           30000,  250, 150, 10,  5, RACE_DRACONIAN},
-#endif
-#ifdef JP
-{ "ÉÏ˳¥Á¥ã¥¨¥¢¥ó¥É",                 20000,  250, 150, 10,  5, RACE_HUMAN},
-#else
                { "Chaeand the Poor",                 20000,  250, 150, 10,  5, RACE_HUMAN},
-#endif
-#ifdef JP
-{ "»³Â±¥¢¥Õ¥¡¡¼¥É¡¼¥Õ",          20000,  250, 150, 10,  5, RACE_BARBARIAN},
-#else
                { "Afardorf the Brigand",          20000,  250, 150, 10,  5, RACE_BARBARIAN},
-#endif
-#ifdef JP
-{ "¶¯Íߥ饶¥¯¥¹¥ë",          30000,  250, 150, 10,  5, RACE_MIND_FLAYER},
-#else
                { "Lathaxl the Greedy",          30000,  250, 150, 10,  5, RACE_MIND_FLAYER},
-#endif
-#ifdef JP
-{ "¥Õ¥¡¥é¥ì¥¦¥£¥ó",           30000,  250, 150, 10,  5, RACE_SPRITE},
-#else
                { "Falarewyn",           30000,  250, 150, 10,  5, RACE_SPRITE},
-#endif
-#ifdef JP
-{ "¤·¤ï¤·¤ï¥ô¥©¥¹¡¼¥ë",                 20000,  250, 150, 10,  5, RACE_NIBELUNG},
-#else
                { "Vosur the Wrinkled",                 20000,  250, 150, 10,  5, RACE_NIBELUNG},
-#endif
-#ifdef JP
-{ "¥Ï¥ó¥µ¥à¤Ê¥¢¥é¥ª¡¼¥É",          20000,  250, 150, 10,  5, RACE_AMBERITE},
-#else
                { "Araord the Handsome",          20000,  250, 150, 10,  5, RACE_AMBERITE},
-#endif
-#ifdef JP
-{ "É餱¸¤¥»¥é¥É¥Õ¥ê¥É",          30000,  250, 150, 10,  5, RACE_HUMAN},
-#else
                { "Theradfrid the Loser",          30000,  250, 150, 10,  5, RACE_HUMAN},
-#endif
-#ifdef JP
-{ "ÊÒ­¤Î¥¨¥ë¡¼¥í",           30000,  250, 150, 10,  5, RACE_HALF_OGRE},
-#else
                { "One-Legged Eroolo",           30000,  250, 150, 10,  5, RACE_HALF_OGRE},
 #endif
        },
@@ -2772,16 +2712,16 @@ player_sex sex_info[MAX_SEXES] =
 {
        {
 #ifdef JP
-                "½÷À­",
-                "¥¯¥¤¡¼¥ó",
+               "½÷À­",
+               "¥¯¥¤¡¼¥ó",
 #endif
                "Female",
                "Queen"
        },
        {
 #ifdef JP
-                "ÃËÀ­",
-                "¥­¥ó¥°",
+               "ÃËÀ­",
+               "¥­¥ó¥°",
 #endif
                "Male",
                "King"
@@ -2817,11 +2757,11 @@ player_race race_info[MAX_RACES] =
                72,  6, 180, 25,
                66,  4, 150, 20,
                0,
-                0x7FFFFFF,
+               0xFFFFFFF,
        },
        {
 #ifdef JP
-               "¥Ï¡¼¥Õ¥¨¥ë¥Õ",
+               "¥Ï¡¼¥Õ¥¨¥ë¥Õ",
 #endif
                "Half-Elf",
 
@@ -2832,11 +2772,11 @@ player_race race_info[MAX_RACES] =
                66,  6, 130, 15,
                62,  6, 100, 10,
                2,
-                0x677E7FF,
+               0xE77E7FF,
        },
        {
 #ifdef JP
-               "¥¨¥ë¥Õ",
+               "¥¨¥ë¥Õ",
 #endif
                "Elf",
 
@@ -2847,7 +2787,7 @@ player_race race_info[MAX_RACES] =
                60,  4, 100,  6,
                54,  4, 80,  6,
                3,
-                0x677E75B,
+               0xE77E75B,
 
        },
        {
@@ -2863,7 +2803,7 @@ player_race race_info[MAX_RACES] =
                36,  3, 60,  3,
                33,  3, 50,  3,
                4,
-                0x76FFC0B,
+               0xF6FFC0B,
        },
        {
 #ifdef JP
@@ -2878,7 +2818,7 @@ player_race race_info[MAX_RACES] =
                42,  3, 90,  6,
                39,  3, 75,  3,
                4,
-                0x767D60F,
+               0xF67D60F,
        },
        {
 #ifdef JP
@@ -2893,7 +2833,7 @@ player_race race_info[MAX_RACES] =
                48,  3, 150, 10,
                46,  3, 120, 10,
                5,
-                0x1890005,
+               0x1890005,
        },
        {
 #ifdef JP
@@ -2908,7 +2848,7 @@ player_race race_info[MAX_RACES] =
                66,  1, 150,  5,
                62,  1, 120,  5,
                3,
-                0x5D8818D,
+               0xDD8818D,
        },
        {
 #ifdef JP
@@ -2923,11 +2863,11 @@ player_race race_info[MAX_RACES] =
                96, 10, 250, 50,
                84,  8, 225, 40,
                3,
-                0x0880005,
+               0x0880005,
        },
        {
 #ifdef JP
-                "¥¢¥ó¥Ð¥é¥¤¥È",
+               "¥¢¥ó¥Ð¥é¥¤¥È",
 #endif
                "Amberite",
 
@@ -2938,11 +2878,11 @@ player_race race_info[MAX_RACES] =
                82, 5, 190, 20,
                78,  6, 180, 15,
                0,
-                0x7FFF7FF,
+               0xFFFF7FF,
        },
        {
 #ifdef JP
-                "¥Ï¥¤¥¨¥ë¥Õ",
+               "¥Ï¥¤¥¨¥ë¥Õ",
 #endif
                "High-Elf",
 
@@ -2953,7 +2893,7 @@ player_race race_info[MAX_RACES] =
                90, 10, 190, 20,
                82, 10, 180, 15,
                4,
-               0x777E75B,
+               0xF77E75B,
        },
        {
 #ifdef JP
@@ -2998,7 +2938,7 @@ player_race race_info[MAX_RACES] =
                100,10, 255, 65,
                80, 10, 240, 64,
                3,
-               0x0880011,
+               0x8880011,
        },
        {
 #ifdef JP
@@ -3103,7 +3043,7 @@ player_race race_info[MAX_RACES] =
                60,  4, 100,  6,
                54,  4, 80,  6,
                5,
-               0x677C7DF,
+               0xE77C7DF,
        },
        {
 #ifdef JP
@@ -3148,7 +3088,7 @@ player_race race_info[MAX_RACES] =
                68,  1, 150,  5,
                64,  1, 120,  5,
                3,
-               0x6B537CB,
+               0xDB537CB,
        },
        {
 #ifdef JP
@@ -3267,11 +3207,11 @@ player_race race_info[MAX_RACES] =
                111, 11, 255, 50,
                99, 11, 250, 45,
                  0,
-                0x0010005,
+               0x0010005,
        },
        {
 #ifdef JP
-                "¥¢¥ë¥³¥ó",
+               "¥¢¥ë¥³¥ó",
 #endif
                "Archon",
 
@@ -3282,11 +3222,11 @@ player_race race_info[MAX_RACES] =
                82, 5, 190, 20,
                78,  6, 180, 15,
                3,
-                0x779F777,
+               0x779F777,
        },
        {
 #ifdef JP
-                "¥Ð¥ë¥í¥°",
+               "¥Ð¥ë¥í¥°",
                "Balrog",
 #else
                "Balrog",
@@ -3299,11 +3239,11 @@ player_race race_info[MAX_RACES] =
                100,10, 255, 65,
                80, 10, 240, 64,
                5,
-                0x7EDC4DB,
+               0x7EDC4DB,
        },
        {
 #ifdef JP
-                "¥É¥¥¥Ê¥À¥ó",
+               "¥É¥¥¥Ê¥À¥ó",
 #endif
                "Dunadan",
 
@@ -3314,7 +3254,7 @@ player_race race_info[MAX_RACES] =
                82, 5, 190, 20,
                78,  6, 180, 15,
                0,
-                0x7FFF7FF,
+               0xFFFF7FF,
        },
        {
 #ifdef JP
@@ -3328,7 +3268,7 @@ player_race race_info[MAX_RACES] =
                 80,  8, 90, 20,
                 73,  8, 80, 15,
                  4,
-               0x633C7DF,
+               0xE33C7DF,
        },
        {
 #ifdef JP
@@ -3343,7 +3283,7 @@ player_race race_info[MAX_RACES] =
                48,  6, 150, 25,
                44,  4, 130, 20,
                0,
-                0x418B7AD,
+               0xC18B7AD,
        },
        {
 #ifdef JP
@@ -3579,11 +3519,11 @@ player_class class_info[MAX_CLASS] =
 #ifdef JP
                "¶ãÍ·»í¿Í",
 #endif
-                "Bard",              /* Note : spell stat is Charisma */
-                {-2, 1, 2, -1, -2, 4},
-                20, 33, 34, -5, 16, 20, 34, 20,
-                8,  13, 11, 0,  0,  0,  10, 8,
-                2, 40, 25
+               "Bard",              /* Note : spell stat is Charisma */
+               {-2, 1, 2, -1, -2, 4},
+               20, 33, 34, -5, 16, 20, 34, 20,
+               8,  13, 11, 0,  0,  0,  10, 8,
+               2, 40, 25
        },
 
        {
@@ -3690,6 +3630,18 @@ player_class class_info[MAX_CLASS] =
                15, 10, 10, 0,  0,  0, 25,18,
                2,  20, 40
        },
+
+       {
+#ifdef JP
+               "¥¹¥Ê¥¤¥Ñ¡¼",
+#endif
+               "Sniper",
+
+               { 2, -1, -1, 2, 1, 0},
+               25, 24, 28, 5, 32, 18, 35,  72,
+               12, 10, 10, 0,  0,  0, 12,  28,
+               2, 20, 40,
+       },
 };
 
 player_seikaku seikaku_info[MAX_SEIKAKU] =
@@ -3832,7 +3784,7 @@ player_race mimic_info[] =
                0,  0, 0, 0,
                0,  0, 0, 0,
                0,
-                0x000000,
+               0x000000,
        },
        {
 #ifdef JP
@@ -3847,7 +3799,7 @@ player_race mimic_info[] =
                0,  0, 0, 0,
                0,  0, 0, 0,
                5,
-                0x000003,
+               0x000003,
        },
        {
 #ifdef JP
@@ -3862,7 +3814,7 @@ player_race mimic_info[] =
                0,  0, 0, 0,
                0,  0, 0, 0,
                20,
-                0x000003,
+               0x000003,
        },
        {
 #ifdef JP
@@ -3877,7 +3829,7 @@ player_race mimic_info[] =
                0,  0, 0, 0,
                0,  0, 0, 0,
                5,
-                0x000005,
+               0x000005,
        },
 };
 
@@ -3962,6 +3914,45 @@ magic_type technic_info[NUM_TECHNIC][32] =
                { 45, 130,   0,   0},
                { 50, 255,   0,   0}
        },
+
+       {
+               /* Hex */
+               {  1,  2, 20,   2},
+               {  1,  2, 20,   2},
+               {  3,  2, 30,   3},
+               {  5,  3, 30,   4},
+               {  7,  3, 40,   6},
+               {  8, 10, 60,   8},
+               {  9,  3, 30,  10},
+               { 10,  5, 40,  12},
+
+               { 12,  8, 40,  15},
+               { 12,  9, 35,  15},
+               { 15, 10, 50,  20},
+               { 20, 12, 45,  35},
+               { 25, 15, 50,  50},
+               { 30, 12, 60,  70},
+               { 35, 10, 60,  80},
+               { 40, 16, 70, 100},
+
+               { 15,  8, 20,  20},
+               { 18, 15, 50,  20},
+               { 22, 10, 65,  35},
+               { 25, 28, 70,  50},
+               { 28, 10, 70,  60},
+               { 30, 20, 60,  60},
+               { 36, 22, 70,  80},
+               { 40, 28, 70, 100},
+
+               {  5,  6, 35,   5},
+               { 22, 24, 70,  40},
+               { 25,  2, 65,  50},
+               { 32, 20, 50,  70},
+               { 35, 35, 70,  80},
+               { 38, 32, 70,  90},
+               { 42, 24, 70, 120},
+               { 46, 45, 80, 200}
+       },
 };
 
 
@@ -3978,7 +3969,7 @@ u32b fake_spell_flags[4]=
 };
 
 
-s32b realm_choices1[] =
+s32b realm_choices1[MAX_CLASS] =
 {
        (CH_NONE),                              /* Warrior */
        (CH_LIFE | CH_SORCERY | CH_NATURE |
@@ -3999,27 +3990,29 @@ s32b realm_choices1[] =
        (CH_LIFE | CH_SORCERY | CH_NATURE |
         CH_CHAOS | CH_DEATH | CH_TRUMP |
         CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* High-Mage */
+        CH_CRUSADE | CH_HEX),                  /* High-Mage */
        (CH_ARCANE),                            /* Tourist */
-       (CH_NONE),                              /* Imitation */
+       (CH_NONE),                              /* Imitator */
        (CH_TRUMP),                             /* Beastmaster */
        (CH_NONE),                              /* Sorcerer */
        (CH_NONE),                              /* Archer */
        (CH_NONE),                              /* Magic eater */
-       (CH_MUSIC),                             /* Harper */
+       (CH_MUSIC),                             /* Bard */
        (CH_NONE),                              /* Red Mage */
        (CH_HISSATSU),                          /* Samurai */
        (CH_LIFE | CH_NATURE | CH_DEATH |
         CH_ENCHANT | CH_CRUSADE),                 /* ForceTrainer */
        (CH_NONE),                              /* Blue Mage */
-       (CH_NONE),                              /* Kihei */
+       (CH_NONE),                              /* Cavalry */
        (CH_NONE),                              /* Berserker */
-       (CH_NONE),                              /* Kaji */
+       (CH_NONE),                              /* Weaponsmith */
        (CH_NONE),                              /* Mirror-master */
+       (CH_NONE),                              /* Ninja */
+       (CH_NONE),                              /* Sniper */
 };
 
 
-s32b realm_choices2[] =
+s32b realm_choices2[MAX_CLASS] =
 {
        (CH_NONE),                              /* Warrior */
        (CH_LIFE | CH_SORCERY | CH_NATURE |
@@ -4043,20 +4036,22 @@ s32b realm_choices2[] =
        (CH_NONE),                              /* Mindcrafter */
        (CH_NONE),                              /* High-Mage */
        (CH_NONE),                              /* Tourist */
-       (CH_NONE),                              /* Imitation */
+       (CH_NONE),                              /* Imitator */
        (CH_NONE),                              /* Beastmanster */
        (CH_NONE),                              /* Sorcerer */
        (CH_NONE),                              /* Archer */
        (CH_NONE),                              /* Magic eater */
-       (CH_NONE),                              /* Harper */
+       (CH_NONE),                              /* Bard */
        (CH_NONE),                              /* Red Mage */
        (CH_NONE),                              /* Samurai */
        (CH_NONE),                              /* ForceTrainer */
        (CH_NONE),                              /* Blue Mage */
-       (CH_NONE),                              /* Kihei */
+       (CH_NONE),                              /* Cavalry */
        (CH_NONE),                              /* Berserker */
-       (CH_NONE),                              /* Kaji */
+       (CH_NONE),                              /* Weaponsmith */
        (CH_NONE),                              /* Mirror-master */
+       (CH_NONE),                              /* Ninja */
+       (CH_NONE),                              /* Sniper */
 };
 
 
@@ -4081,6 +4076,7 @@ cptr realm_names[] =
        "ÉÔÌÀ",
        "²Î",
        "Éð·Ý",
+       "¼ö½Ñ",
        "ÉÔÌÀ"
 };
 #endif
@@ -4109,1034 +4105,10 @@ cptr realm_names[]
        "unknown",
        "Music",
        "Kendo",
+       "Hex",
        "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 ***/ /* nanka */
-       {
-               /* Common Life Spellbooks */
-               "Detect Evil",
-               "Cure Light Wounds",
-               "Bless",
-               "Remove Fear",
-               "Call Light",
-               "Detect Doors & Traps",
-               "Cure Medium Wounds",
-               "Satisfy Hunger",
-
-               "Remove Curse",
-               "Cure Poison",   
-               "Cure Critical Wounds",
-               "Sense Unseen",
-               "Holy Orb",
-               "Protection from Evil",
-               "Healing",
-               "Glyph of Warding",
-
-               /* Rare Life Spellbooks */
-               "Exorcism",
-               "Dispel Curse",
-               "Dispel Undead & Demons",
-               "Day of the Dove",
-               "Dispel Evil",
-               "Banishment",
-               "Holy Word",
-               "Warding True",
-
-               "Heroism",
-               "Prayer",
-               "Turn Undead",
-               "Restoration",
-               "Healing True",
-               "Holy Vision",
-               "Divine Intervention",
-               "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 */
-               "Zap",
-               "Detect Evil",
-               "Remove Fear",
-               "Scare Monster",
-               "Sanctuary",
-               "Portal",
-               "Star Dust",
-               "Purify",
-
-               "Scatter Evil",
-               "Exorcism",
-               "Holy Orb",
-               "Remove Curse",
-               "Sense Unseen",
-               "Protection from Evil",
-               "Judgment Thunder",
-               "Warding True",
-
-               /* Rare Crusade Spellbooks */
-               "Unbarring Ways",
-               "nanka",
-               "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
@@ -5225,88 +4197,88 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
 {
        /* Warrior */
        {
-                "¿·»²Ê¼",
-                "ʼ»Î",
-                "ÍÃʼ",
-                "¸Å»²Ê¼",
-                "·õ»Î",
-                "Æ®»Î",
-                "±Ñͺ",
-                "Ã˼ß",
-                "Çì¼ß",
-                "Îμç",
+               "¿·»²Ê¼",
+               "ʼ»Î",
+               "ÍÃʼ",
+               "¸Å»²Ê¼",
+               "·õ»Î",
+               "Æ®»Î",
+               "±Ñͺ",
+               "Ã˼ß",
+               "Çì¼ß",
+               "·¯¼ç",
        },
 
        /* Mage */
        {
                                /*"¸«½¬¤¤",*/
-                "Îý½¬À¸",                 /*ÃúÃÕ¡¢Îý½¬À¸ */
-                "´ñ½Ñ»Õ",               /*º¾µ½»Õ¡¢¥Ú¥Æ¥ó»Õ */
-                "¸¸½Ñ»Õ",
-                "¼ö½Ñ»Õ",
-                "¾¤Îî»Õ",
-                "¾¤Ëâ»Õ",
-                "Ëâ½Ñ»Õ",
-                "ËâÆ»»Õ",
-                "¥¤¥×¥·¥·¥Þ¥¹",
-                "ÂçËâÆ»»Õ",
+               "Îý½¬À¸",                 /*ÃúÃÕ¡¢Îý½¬À¸ */
+               "´ñ½Ñ»Õ",               /*º¾µ½»Õ¡¢¥Ú¥Æ¥ó»Õ */
+               "¸¸½Ñ»Õ",
+               "¼ö½Ñ»Õ",
+               "¾¤Îî»Õ",
+               "¾¤Ëâ»Õ",
+               "Ëâ½Ñ»Õ",
+               "ËâÆ»»Õ",
+               "¥¤¥×¥·¥·¥Þ¥¹",
+               "ÂçËâÆ»»Õ",
        },
 
        /* Priest */
        {
-                "¿®¼Ô",                 /*¿®ÅÌ */
-                "»øÁÎ",             /*¶µ²ñÊô»Å¼Ô¡¢¸«½¬¤¤ÁΡ¢È¼ÁΡ¢½¾¼Ô */
-                "½ÏÎýÁÎ",
-                "À»¿¦¼Ô",                 /*À»¿¦¼Ô */
-                "ÅÁÆ»»Õ",               /*»Êº×ɾµÄ°÷¡¢½¤Æ»²ñ²ñ°÷ */
-                "ËÒ»Õ",               /*¥é¥Þ¶µ¤ÎÁΠ*/
-                "À»¿Í",               /*Âç»Ê¶µ¡¢Áí¼ç¶µ¡¢ÁíÂç»Ê¶µ */
-                "º×»Ê",                 /*º×»Ê¡¢»Êº× */
-                "º×»ÊĹ",               /*Âçº×»Ê¡¢º×»ÊĹ */
-                "¶µ¹Ä",
+               "¿®¼Ô",                 /*¿®ÅÌ */
+               "»øÁÎ",             /*¶µ²ñÊô»Å¼Ô¡¢¸«½¬¤¤ÁΡ¢È¼ÁΡ¢½¾¼Ô */
+               "½ÏÎýÁÎ",
+               "À»¿¦¼Ô",                 /*À»¿¦¼Ô */
+               "ÅÁÆ»»Õ",               /*»Êº×ɾµÄ°÷¡¢½¤Æ»²ñ²ñ°÷ */
+               "ËÒ»Õ",               /*¥é¥Þ¶µ¤ÎÁΠ*/
+               "À»¿Í",               /*Âç»Ê¶µ¡¢Áí¼ç¶µ¡¢ÁíÂç»Ê¶µ */
+               "º×»Ê",                 /*º×»Ê¡¢»Êº× */
+               "º×»ÊĹ",               /*Âçº×»Ê¡¢º×»ÊĹ */
+               "¶µ¹Ä",
        },
 
        /* Rogues */
        {
                /* "¤´¤í¤Ä¤­",*/                     /*¤´¤í¤Ä¤­¡¢É÷ÍèË·¡¢Éâϲ¼Ô */
-                "¤¹¤ê",
-                "Äɤ¤¤Ï¤®",                     /*Äɤ¤Çí¤®¡¢¶¯Åð¡¢Å¥ËÀ */
-                "ÌëÅð",                         /*¶¯Åð¡¢ÌëÅð¡¢Å¥ËÀ */
-                "¤³¤½Å¥",                       /*¤³¤½Å¥¡¢¾®Å¥ËÀ */
-                "¥Ú¥Æ¥ó»Õ",                     /*ÇîÅÌ¡¢¥Ú¥Æ¥ó»Õ¡¢º¾µ½»Õ */
-                "¥í¥¦¥·¡¼¥Õ",
-                "¥Ï¥¤¥·¡¼¥Õ",
-                "¥Þ¥¹¥¿¡¼¥·¡¼¥Õ",
-                "¥¢¥µ¥·¥ó",                                            /* °Å»¦¼Ô */
-                "¥®¥ë¥É¥Þ¥¹¥¿¡¼",
+               "¤¹¤ê",
+               "Äɤ¤¤Ï¤®",                     /*Äɤ¤Çí¤®¡¢¶¯Åð¡¢Å¥ËÀ */
+               "ÌëÅð",                         /*¶¯Åð¡¢ÌëÅð¡¢Å¥ËÀ */
+               "¤³¤½Å¥",                       /*¤³¤½Å¥¡¢¾®Å¥ËÀ */
+               "¥Ú¥Æ¥ó»Õ",                     /*ÇîÅÌ¡¢¥Ú¥Æ¥ó»Õ¡¢º¾µ½»Õ */
+               "¥í¥¦¥·¡¼¥Õ",
+               "¥Ï¥¤¥·¡¼¥Õ",
+               "¥Þ¥¹¥¿¡¼", /* "¥Þ¥¹¥¿¡¼¥·¡¼¥Õ", */
+               "¥¢¥µ¥·¥ó",                                             /* °Å»¦¼Ô */
+               "ƬÎÎ", /*"¥®¥ë¥É¥Þ¥¹¥¿¡¼",*/
        },
 
        /* Rangers */
        {
-                "»È¤¤Áö¤ê",
-                "ÃÚÉ×",
-                "À͸õ",                         /*À͸õ¡¢¸«Ä¥¤ê¡¢Ä廡ʼ */
-                "¼í¿Í",
-                "ÄÉÀ×¼Ô",
-                "ÀèƳ¼Ô",
-                "õ¸±¼Ô",                       /*³«Âó¼Ô¡¢Ãµ¸±¼Ô */
-                "ÌîÉú",
-                "ÌîÉúƬ",
-                "ÌîÉú¤ÎÁíÎÎ",
+               "»È¤¤Áö¤ê",
+               "ÃÚÉ×",
+               "À͸õ",                         /*À͸õ¡¢¸«Ä¥¤ê¡¢Ä廡ʼ */
+               "¼í¿Í",
+               "ÄÉÀ×¼Ô",
+               "ÀèƳ¼Ô",
+               "õ¸±¼Ô",                       /*³«Âó¼Ô¡¢Ãµ¸±¼Ô */
+               "ÌîÉú",
+               "ÌîÉúƬ",
+               "ÌîÉú¤ÎÁíÎÎ",
        },
 
        /* Paladins */
        {
-                "ͦ»Î",                 /*¿§ÃË¡¢°¦¿Í¡¢¤·¤ã¤ì¼Ô¡¢Í¦´º¤Ê¿Í */
-                "±Ò»Î",
-                "Êݸî¼Ô",
-                "ËɱҼÔ",
-                "¸î±Ò¼Ô",
-                "µ³»Î",
-                "½Åµ³»Î",
-                "À»µ³»Î",
-                "¾åµéÀ»µ³»Î",
-                "À»µ³»ÎĹ",
+               "ͦ»Î",                 /*¿§ÃË¡¢°¦¿Í¡¢¤·¤ã¤ì¼Ô¡¢Í¦´º¤Ê¿Í */
+               "±Ò»Î",
+               "Êݸî¼Ô",
+               "ËɱҼÔ",
+               "¸î±Ò¼Ô",
+               "µ³»Î",
+               "½Åµ³»Î",
+               "À»µ³»Î",
+               "¾åµéÀ»µ³»Î",
+               "À»µ³»ÎÃÄĹ",
        },
 
        /* Warrior-Mage */
@@ -5321,21 +4293,21 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "ËâÃ˼ß",
                /* "Ëâ¸ø¼ß", */
                "ÀïÆ®Ëâ½Ñ»Î",
-               "¥¦¥£¥¶¡¼¥É¥í¡¼¥É",
+               "Ãμ±¤Î¼é¸î¼Ô", /* "¥¦¥£¥¶¡¼¥É¥í¡¼¥É", */
        },
 
        /* Chaos Warrior */
        {
-                "¿·»²Ê¼",
-                "ʼ»Î",
-                "ÍÃʼ",
-                "¸Å»²Ê¼",
-                "·õ»Î",
-                "Æ®»Î",
-                "º®Æ٤αÑͺ",
-                "º®ÆÙ¤ÎÃ˼ß",
-                "º®Æ٤θø¼ß",
-                "º®Æ٤β¦¼Ô",
+               "¿·»²Ê¼",
+               "ʼ»Î",
+               "ÍÃʼ",
+               "¸Å»²Ê¼",
+               "·õ»Î",
+               "Æ®»Î",
+               "º®Æ٤αÑͺ",
+               "º®ÆÙ¤ÎÃ˼ß",
+               "º®Æ٤θø¼ß",
+               "º®Æ٤β¦¼Ô",
        },
 
        /* Monk */
@@ -5363,22 +4335,22 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "¥µ¥¤¥­¥Ã¥¯",
                "¥µ¥¤¥ª¥Ë¥Ã¥¯",
                "ĶǽÎϼÔ",
-               "¥Þ¥¤¥ó¥É¥Þ¥¹¥¿¡¼",
+               "Àº¿À¤Î»ÙÇÛ¼Ô", /* "¥Þ¥¤¥ó¥É¥Þ¥¹¥¿¡¼", */
        },
 
        /* High Mage; same as Mage */
        {
                                /*"¸«½¬¤¤",*/
-                "Îý½¬À¸",                 /*ÃúÃÕ¡¢Îý½¬À¸ */
-                "´ñ½Ñ»Õ",               /*º¾µ½»Õ¡¢¥Ú¥Æ¥ó»Õ */
-                "¸¸½Ñ»Õ",
-                "¼ö½Ñ»Õ",
-                "¾¤Îî»Õ",
-                "¾¤Ëâ»Õ",
-                "Ëâ½Ñ»Õ",
-                "ËâÆ»»Õ",
-                "¥¤¥×¥·¥·¥Þ¥¹",
-                "ÂçËâÆ»»Õ",
+               "Îý½¬À¸",                 /*ÃúÃÕ¡¢Îý½¬À¸ */
+               "´ñ½Ñ»Õ",               /*º¾µ½»Õ¡¢¥Ú¥Æ¥ó»Õ */
+               "¸¸½Ñ»Õ",
+               "¼ö½Ñ»Õ",
+               "¾¤Îî»Õ",
+               "¾¤Ëâ»Õ",
+               "Ëâ½Ñ»Õ",
+               "ËâÆ»»Õ",
+               "¥¤¥×¥·¥·¥Þ¥¹",
+               "ÂçËâÆ»»Õ",
        },
 
        /* Tourist */
@@ -5426,58 +4398,58 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
        /* Sorcerer; same as Mage */
        {
                                /*"¸«½¬¤¤",*/
-                "Îý½¬À¸",                 /*ÃúÃÕ¡¢Îý½¬À¸ */
-                "´ñ½Ñ»Õ",               /*º¾µ½»Õ¡¢¥Ú¥Æ¥ó»Õ */
-                "¸¸½Ñ»Õ",
-                "¼ö½Ñ»Õ",
-                "¾¤Îî»Õ",
-                "¾¤Ëâ»Õ",
-                "Ëâ½Ñ»Õ",
-                "ËâÆ»»Õ",
-                "¥¤¥×¥·¥·¥Þ¥¹",
-                "ÂçËâÆ»»Õ",
+               "Îý½¬À¸",                 /*ÃúÃÕ¡¢Îý½¬À¸ */
+               "´ñ½Ñ»Õ",               /*º¾µ½»Õ¡¢¥Ú¥Æ¥ó»Õ */
+               "¸¸½Ñ»Õ",
+               "¼ö½Ñ»Õ",
+               "¾¤Îî»Õ",
+               "¾¤Ëâ»Õ",
+               "Ëâ½Ñ»Õ",
+               "ËâÆ»»Õ",
+               "¥¤¥×¥·¥·¥Þ¥¹",
+               "ÂçËâÆ»»Õ",
        },
 
        /* Archer */
        {
-                "¿·»²Ê¼",
-                "ʼ»Î",
-                "ÍÃʼ",
-                "¸Å»²Ê¼",
-                "·õ»Î",
-                "Æ®»Î",
-                "±Ñͺ",
-                "Ã˼ß",
-                "Çì¼ß",
-                "Îμç",
+               "¿·»²Ê¼",
+               "ʼ»Î",
+               "ÍÃʼ",
+               "¸Å»²Ê¼",
+               "·õ»Î",
+               "Æ®»Î",
+               "±Ñͺ",
+               "Ã˼ß",
+               "Çì¼ß",
+               "Îμç",
        },
 
        /* Magic eater */
        {
-                "̵ÃΤʤë¼Ô",
-                "ÆþÌç¼Ô",
-                "´ñ½Ñ»Õ",
-                "Èë½Ñ»Õ",
-                "Èë½Ñ»Õ",
-                "½ÏÎý¼Ô",
-                "ã¿Í",
-                "ã¿Í",
-                "ËâÆ»»Õ",
-                "Á´¤Æ¤òÃΤë¼Ô",
-       },
-
-        /* Harper */
-       {
-                "¸«½¬¤¤",      /*"Apprentice"*/
-                "ºî¶Ê²È",      /*"Songsmith"*/
-                "¶ãÍ·»í¿Í",    /*"Bard"*/
-                "¥³¥ó¥Ñ¥Ë¥ª¥ó",        /*"Companion"*/
-                "¿´¤ÎÌþ¤·¼ê",  /*"Minstrel"*/
-                "è¶×»Õ",      /*"Harper"*/
-                "ÅÁ¾µ¤Îˤ®¼ê",        /*"Loreweaver"*/
-                "»í¿À¤Î¿½¤·»Ò",        /*"Muse"*/
-                "̴ˤ®",      /*"Dreamweaver"*/
-                "¥Þ¥¹¥¿¡¼",    /*"Master Harper"*/
+               "̵ÃΤʤë¼Ô",
+               "ÆþÌç¼Ô",
+               "´ñ½Ñ»Õ",
+               "Èë½Ñ»Õ",
+               "Èë½Ñ»Õ",
+               "½ÏÎý¼Ô",
+               "ã¿Í",
+               "ã¿Í",
+               "ËâÆ»»Õ",
+               "Á´¤Æ¤òÃΤë¼Ô",
+       },
+
+       /* Bard */
+       {
+               "¸«½¬¤¤",       /*"Apprentice"*/
+               "ºî¶Ê²È",       /*"Songsmith"*/
+               "¶ãÍ·»í¿Í",     /*"Bard"*/
+               "¥³¥ó¥Ñ¥Ë¥ª¥ó", /*"Companion"*/
+               "¿´¤ÎÌþ¤·¼ê",   /*"Minstrel"*/
+               "è¶×»Õ",       /*"Harper"*/
+               "ÅÁ¾µ¤Îˤ®¼ê", /*"Loreweaver"*/
+               "»í¿À¤Î¿½¤·»Ò", /*"Muse"*/
+               "̴ˤ®",       /*"Dreamweaver"*/
+               "¥Þ¥¹¥¿¡¼",     /*"Master Harper"*/
        },
 
        /* Red Mage; same as Warrior-Mage */
@@ -5492,7 +4464,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "ËâÃ˼ß",
                /* "Ëâ¸ø¼ß", */
                "ÀïÆ®Ëâ½Ñ»Î",
-               "¥¦¥£¥¶¡¼¥É¥í¡¼¥É",
+               "Ãμ±¤Î¼é¸î¼Ô", /* "¥¦¥£¥¶¡¼¥É¥í¡¼¥É", */
        },
 
        /* Samurai */
@@ -5526,30 +4498,30 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
        /* Blue Mage; same as Mage */
        {
                                /*"¸«½¬¤¤",*/
-                "Îý½¬À¸",                 /*ÃúÃÕ¡¢Îý½¬À¸ */
-                "´ñ½Ñ»Õ",               /*º¾µ½»Õ¡¢¥Ú¥Æ¥ó»Õ */
-                "¸¸½Ñ»Õ",
-                "¼ö½Ñ»Õ",
-                "¾¤Îî»Õ",
-                "¾¤Ëâ»Õ",
-                "Ëâ½Ñ»Õ",
-                "ËâÆ»»Õ",
-                "¥¤¥×¥·¥·¥Þ¥¹",
-                "ÂçËâÆ»»Õ",
-       },
-
-       /* Kihei */
-       {
-                "¿·»²Ê¼",
-                "ʼ»Î",
-                "ÍÃʼ",
-                "¸Å»²Ê¼",
-                "·õ»Î",
-                "Æ®»Î",
-                "±Ñͺ",
-                "Ã˼ß",
-                "Çì¼ß",
-                "Îμç",
+               "Îý½¬À¸",                 /*ÃúÃÕ¡¢Îý½¬À¸ */
+               "´ñ½Ñ»Õ",               /*º¾µ½»Õ¡¢¥Ú¥Æ¥ó»Õ */
+               "¸¸½Ñ»Õ",
+               "¼ö½Ñ»Õ",
+               "¾¤Îî»Õ",
+               "¾¤Ëâ»Õ",
+               "Ëâ½Ñ»Õ",
+               "ËâÆ»»Õ",
+               "¥¤¥×¥·¥·¥Þ¥¹",
+               "ÂçËâÆ»»Õ",
+       },
+
+       /* Cavalry */
+       {
+               "¿·»²Ê¼",
+               "ʼ»Î",
+               "ÍÃʼ",
+               "¸Å»²Ê¼",
+               "·õ»Î",
+               "Æ®»Î",
+               "±Ñͺ",
+               "Ã˼ß",
+               "Çì¼ß",
+               "Îμç",
        },
 
        /* Berserker */
@@ -5566,7 +4538,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "Åܤê¤Î²½¿È",
        },
 
-       /* Kaji */
+       /* Weaponsmith */
        {
                "Ƽ¤òÃ䨤·¼Ô",
                "Å´¤òÃ䨤·¼Ô",
@@ -5606,6 +4578,20 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "°Å»¦¼Ô",
                "»à¤ÎŤ­ÏÓ",
        },
+
+       /* Sniper */
+       {
+               "¿·»²Ê¼",
+               "ʼ»Î",
+               "ÍÃʼ",
+               "¸Å»²Ê¼",
+               "·õ»Î",
+               "Æ®»Î",
+               "±Ñͺ",
+               "Ã˼ß",
+               "Çì¼ß",
+               "Îμç",
+       },
 };
 
 #else
@@ -5827,7 +4813,7 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "Soldier",
                "Mercenary",
                "Veteran",
-               "Swordsman",
+               "Bowman",
                "Champion",
                "Hero",
                "Baron",
@@ -5837,30 +4823,30 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
 
        /* Magic eater */
        {
-                "Apprentice",
-                "Beginner",
-                "Jagguler",
-                "Skilled",
-                "Conjurer",
-                "Magician",
-                "Master",
-                "Master",
-                "Wizard",
-                "Almighty",
+               "Apprentice",
+               "Beginner",
+               "Jagguler",
+               "Skilled",
+               "Conjurer",
+               "Magician",
+               "Master",
+               "Master",
+               "Wizard",
+               "Almighty",
        },
 
-        /* Harper */
+       /* Bard */
        {
-                "Apprentice",  /*"Apprentice"*/
-                "Songsmith",   /*"Songsmith"*/
-                "Bard",        /*"Bard"*/
-                "Companion",   /*"Companion"*/
-                "Minstrel",    /*"Minstrel"*/
-                "Harper",      /*"Harper"*/
-                "Loreweaver",  /*"Loreweaver"*/
-                "Muse",        /*"Muse"*/
-                "Dreamweaver", /*"Dreamweaver"*/
-                "Master Harper",       /*"Master Harper"*/
+               "Apprentice",   /*"Apprentice"*/
+               "Songsmith",    /*"Songsmith"*/
+               "Bard", /*"Bard"*/
+               "Companion",    /*"Companion"*/
+               "Minstrel",     /*"Minstrel"*/
+               "Harper",       /*"Harper"*/
+               "Loreweaver",   /*"Loreweaver"*/
+               "Muse", /*"Muse"*/
+               "Dreamweaver",  /*"Dreamweaver"*/
+               "Master Harper",        /*"Master Harper"*/
        },
 
        /* Red Mage */
@@ -5947,31 +4933,31 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                    "God of Rage",
        },
 
-       /* Kaji */
+       /* Weaponsmith */
        {
-                "Copper smith",
-                "Iron smith",
-                "Steel smith",
-                "Silver smith",
-                "Dragon smith",
-                "Spirit smith",
-                "Magic smith",
-                "Soul smith",
-                "God smith",
-                "AlmightySmith",
+               "Copper smith",
+               "Iron smith",
+               "Steel smith",
+               "Silver smith",
+               "Dragon smith",
+               "Spirit smith",
+               "Magic smith",
+               "Soul smith",
+               "God smith",
+               "AlmightySmith",
        },
 
        /* 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",
        },
 
@@ -5988,6 +4974,20 @@ cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
                "Assassinator",
                "Death Lord",
        },
+
+       /* Sniper */
+       {
+               "Rookie",
+               "Soldier",
+               "Mercenary",
+               "Veteran",
+               "Swordsman",
+               "Champion",
+               "Hero",
+               "Baron",
+               "Duke",
+               "Lord",
+       },
 };
 #endif
 
@@ -6193,6 +5193,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")
@@ -6200,22 +5238,22 @@ monster_power monster_powers[MAX_MONSPELLS] =
 cptr color_names[16] =
 {
 #ifdef JP
-        "¹õ",
-        "Çò",
-        "Àij¥¿§",
-        "¥ª¥ì¥ó¥¸",
-        "ÀÖ",
-        "ÎÐ",
-        "ÀÄ",
-        "àèàῧ",
-        "³¥¿§",
-        "ÌÀÀij¥¿§",
-        "»ç",
-        "²«",
-        "ÌÀ¤ë¤¤ÀÖ",
-        "ÌÀ¤ë¤¤ÎÐ",
-        "ÌÀ¤ë¤¤ÀÄ",
-        "ÌÀàèàῧ",
+       "¹õ",
+       "Çò",
+       "Àij¥¿§",
+       "¥ª¥ì¥ó¥¸",
+       "ÀÖ",
+       "ÎÐ",
+       "ÀÄ",
+       "àèàῧ",
+       "³¥¿§",
+       "ÌÀÀij¥¿§",
+       "»ç",
+       "²«",
+       "ÌÀ¤ë¤¤ÀÖ",
+       "ÌÀ¤ë¤¤ÎÐ",
+       "ÌÀ¤ë¤¤ÀÄ",
+       "ÌÀàèàῧ",
 #else
        "Dark",
        "White",
@@ -6244,7 +5282,7 @@ cptr color_names[16] =
 cptr stat_names[6] =
 {
 #ifdef JP
-        "ÏÓÎÏ :", "ÃÎǽ :", "¸­¤µ :", "´ïÍÑ :", "Âѵנ:", "Ì¥ÎÏ :"
+       "ÏÓÎÏ :", "ÃÎǽ :", "¸­¤µ :", "´ïÍÑ :", "Âѵנ:", "Ì¥ÎÏ :"
 #else
        "STR : ", "INT : ", "WIS : ", "DEX : ", "CON : ", "CHR : "
 #endif
@@ -6257,7 +5295,7 @@ cptr stat_names[6] =
 cptr stat_names_reduced[6] =
 {
 #ifdef JP
-        "ÏÓÎÏx:", "ÃÎǽx:", "¸­¤µx:", "´ïÍÑx:", "Âѵ×x:", "Ì¥ÎÏx:"
+       "ÏÓÎÏx:", "ÃÎǽx:", "¸­¤µx:", "´ïÍÑx:", "Âѵ×x:", "Ì¥ÎÏx:"
 #else
        "Str : ", "Int : ", "Wis : ", "Dex : ", "Con : ", "Chr : "
 #endif
@@ -6282,25 +5320,25 @@ cptr stat_names_reduced[6] =
 cptr window_flag_desc[32] =
 {
 #ifdef JP
-        "»ý¤Áʪ/ÁõÈ÷°ìÍ÷",
+       "»ý¤Áʪ/ÁõÈ÷°ìÍ÷",
 #else
        "Display inven/equip",
 #endif
 
 #ifdef JP
-        "ÁõÈ÷/»ý¤Áʪ°ìÍ÷",
+       "ÁõÈ÷/»ý¤Áʪ°ìÍ÷",
 #else
        "Display equip/inven",
 #endif
 
 #ifdef JP
-        "¼öʸ°ìÍ÷",
+       "¼öʸ°ìÍ÷",
 #else
        "Display spell list",
 #endif
 
 #ifdef JP
-        "¥­¥ã¥é¥¯¥¿¾ðÊó",
+       "¥­¥ã¥é¥¯¥¿¾ðÊó",
 #else
        "Display character",
 #endif
@@ -6308,37 +5346,37 @@ cptr window_flag_desc[32] =
        NULL,
        NULL,
 #ifdef JP
-        "¥á¥Ã¥»¡¼¥¸",
+       "¥á¥Ã¥»¡¼¥¸",
 #else
        "Display messages",
 #endif
 
 #ifdef JP
-        "¥À¥ó¥¸¥ç¥óÁ´ÂοÞ",
+       "¥À¥ó¥¸¥ç¥óÁ´ÂοÞ",
 #else
        "Display overhead view",
 #endif
 
 #ifdef JP
-        "¥â¥ó¥¹¥¿¡¼¤Î»×¤¤½Ð",
+       "¥â¥ó¥¹¥¿¡¼¤Î»×¤¤½Ð",
 #else
        "Display monster recall",
 #endif
 
 #ifdef JP
-        "¥¢¥¤¥Æ¥à¤Î¾ÜºÙ",
+       "¥¢¥¤¥Æ¥à¤Î¾ÜºÙ",
 #else
        "Display object recall",
 #endif
 
 #ifdef JP
-        "¼«Ê¬¤Î¼þ°Ï¤òɽ¼¨", 
+       "¼«Ê¬¤Î¼þ°Ï¤òɽ¼¨", 
 #else
        "Display dungeon view",
 #endif
 
 #ifdef JP
-        "µ­Ç°»£±Æ",
+       "µ­Ç°»£±Æ",
 #else
        "Display snap-shot",
 #endif
@@ -6346,13 +5384,13 @@ cptr window_flag_desc[32] =
        NULL,
        NULL,
 #ifdef JP
-        "¥Ü¡¼¥°¡¦¥á¥Ã¥»¡¼¥¸",
+       "¥Ü¡¼¥°¡¦¥á¥Ã¥»¡¼¥¸",
 #else
        "Display borg messages",
 #endif
 
 #ifdef JP
-        "¥Ü¡¼¥°¡¦¥¹¥Æ¡¼¥¿¥¹",
+       "¥Ü¡¼¥°¡¦¥¹¥Æ¡¼¥¿¥¹",
 #else
        "Display borg status",
 #endif
@@ -6385,1069 +5423,939 @@ option_type option_info[] =
        /*** Input Options ***/
 
 #ifdef JP
-       { &rogue_like_commands,         FALSE, 1, 0, 0,
-        "rogue_like_commands",          "¥í¡¼¥°É÷¥­¡¼ÇÛÃÖ¤ò»ÈÍѤ¹¤ë" },
+       { &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",                "¾ï¤Ë¥¢¥¤¥Æ¥à¤ò½¦¤¦" },
+       { &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",                    "¥­¡¼ÂÔ¤Á¤·¤Ê¤¤¤ÇϢ³¤Ç¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë" },
+       { &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",                 "¥á¥Ë¥å¡¼¤Ë¤è¤ê¥³¥Þ¥ó¥ÉÁªÂò¤òÍ­¸ú¤Ë¤¹¤ë" },
+       { &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",                "¥³¥Þ¥ó¥É¼«Æ°·«¤êÊÖ¤·" },
+       { &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_stairs,              FALSE, 1, 5, 5,
-       "confirm_stairs",               "Ê̤γ¬¤Ë¹Ô¤¯»þ³Îǧ¤¹¤ë" },
+       { &confirm_quest,               TRUE,  OPT_PAGE_INPUT, 1, 9,
+       "confirm_quest",                "¥¯¥¨¥¹¥È¤òÄü¤á¤Æ³¬ÃʤÇƨ¤²¤ëÁ°¤Ë³Îǧ¤¹¤ë" },
 #else
-       { &confirm_stairs,              FALSE, 1, 5, 5,
-       "confirm_stairs",               "Prompt before exiting a dungeon level" },
+       { &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",                   "¥Ú¥Ã¥È¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤¹¤ë" },
+       { &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
+       { &hilite_player,               FALSE, OPT_PAGE_MAPSCREEN, 1, 27,
+       "hilite_player",                "¥×¥ì¥¤¥ä¡¼¤Ë¥«¡¼¥½¥ë¤ò¹ç¤ï¤»¤ë" },
+#else
+       { &hilite_player,               FALSE, OPT_PAGE_MAPSCREEN, 1, 27,
+       "hilite_player",                "Hilite the player with the cursor" },
+#endif
 
 #ifdef JP
-       { &view_granite_lite,           TRUE,  2, 1, 30,
-        "view_granite_lite",            "ÊɤòÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë(½Å¤¤)" },
+       { &display_path,                FALSE, OPT_PAGE_MAPSCREEN, 2, 8,
+       "display_path",                 "ËâË¡¤äÌð¤Îµ°Àפòɽ¼¨¤¹¤ë" },
 #else
-       { &view_granite_lite,           TRUE,  2, 1, 30,
-       "view_granite_lite",            "Use special colors for wall grids (slow)" },
+       { &display_path,                FALSE, OPT_PAGE_MAPSCREEN, 2, 8,
+       "display_path",                 "Display actual path before shooting" },
 #endif
 
+       /*** Text Display Options ***/
 
 #ifdef JP
-       { &view_special_lite,           TRUE,  2, 1, 31,
-        "view_special_lite",            "¾²¤òÆÃÊ̤ʿ§¤Çɽ¼¨¤¹¤ë(½Å¤¤)" },
+       { &plain_descriptions,          TRUE,  OPT_PAGE_TEXT, 5, 1,
+       "plain_descriptions",           "¥¢¥¤¥Æ¥à¤Îµ­½Ò¤ò´Êά¤Ë¤¹¤ë" },
 #else
-       { &view_special_lite,           TRUE,  2, 1, 31,
-       "view_special_lite",            "Use special colors for floor grids (slow)" },
+       { &plain_descriptions,          TRUE,  OPT_PAGE_TEXT, 5, 1,
+       "plain_descriptions",           "Plain object descriptions" },
 #endif
 
 #ifdef JP
-       { &new_ascii_graphics,          FALSE, 2, 2, 4,
-        "new_ascii_graphics",           "ÃÏ·Á¤ÎÌÀ°Å¤ò¤Ï¤Ã¤­¤ê¤Èɽ¼¨¤¹¤ë" },
+       { &plain_pickup,                FALSE, OPT_PAGE_TEXT, 6, 6,
+       "plain_pickup",                 "¡Ö½¦¤Ã¤¿¡×¥á¥Ã¥»¡¼¥¸¤ò´Êά²½¤¹¤ë" },
 #else
-       { &new_ascii_graphics,          FALSE, 2, 2, 4,
-       "new_ascii_graphics",           "Show a clear contrast between light and dark" },
+       { &plain_pickup,                FALSE, OPT_PAGE_JAPANESE_ONLY, 6, 6,
+       "plain_pickup",                 "Plain pickup messages(japanese only)" },
 #endif
 
 #ifdef JP
-       { &display_path,                FALSE, 2, 2, 8,
-        "display_path",                 "ËâË¡¤äÌð¤Îµ°Àפòɽ¼¨¤¹¤ë" },
+       { &always_show_list,            TRUE,  OPT_PAGE_TEXT, 4, 0,
+       "always_show_list",             "ÁªÂò»þ¤Ë¤Ï¾ï¤Ë°ìÍ÷¤òɽ¼¨¤¹¤ë" },
 #else
-       { &display_path,                FALSE, 2, 2, 8,
-       "display_path",                 "Display actual path before shooting" },
+       { &always_show_list,            TRUE,  OPT_PAGE_TEXT, 4, 0,
+       "always_show_list",             "Always show list when choosing items" },
 #endif
 
-
 #ifdef JP
-       { &always_show_list,            TRUE,  2, 4, 0,
-        "always_show_list",             "ÁªÂò»þ¤Ë¤Ï¾ï¤Ë°ìÍ÷¤òɽ¼¨¤¹¤ë" },
+       { &depth_in_feet,               FALSE, OPT_PAGE_TEXT, 0, 7,
+       "depth_in_feet",                "¥À¥ó¥¸¥ç¥ó¤Î¿¼¤µ¤ò¥Õ¥£¡¼¥È¤Çɽ¼¨¤¹¤ë" },
 #else
-       { &always_show_list,            TRUE,  2, 4, 0,
-        "always_show_list",             "Always show list at first when select items" },
+       { &depth_in_feet,               FALSE, OPT_PAGE_TEXT, 0, 7,
+       "depth_in_feet",                "Show dungeon level in feet" },
 #endif
 
-
 #ifdef JP
-       { &change_numeral,              TRUE,  2, 4, 5,
-        "change_numeral",               "¥¢¥¤¥Æ¥à¤Î¼ïÎà¤Ë¤è¤Ã¤Æ¿ô¤¨Êý¤òÊѤ¨¤ë" },
+       { &show_labels,                 TRUE,  OPT_PAGE_TEXT, 0, 10,
+       "show_labels",                  "ÁõÈ÷°ìÍ÷¤ÇÁõÈ÷¾ì½ê¤òɽ¼¨¤¹¤ë" },
 #else
-       { &change_numeral,              TRUE,  99, 4, 5,
-        "change_numeral",               "Change a way to counting (japanese only)" },
+       { &show_labels,                 TRUE,  OPT_PAGE_TEXT, 0, 10,
+       "show_labels",                  "Show labels in object listings" },
 #endif
 
-
-       /*** Game-Play ***/
-
 #ifdef JP
-       { &manual_haggle,               FALSE, 3, 1, 0,
-        "manual_haggle",                "Ź¤ÇÃÍÀÚ¤ê¸ò¾Ä¤ò¤¹¤ë" },
+       { &show_weights,                TRUE,  OPT_PAGE_TEXT, 0, 11,
+       "show_weights",                 "¥¢¥¤¥Æ¥à°ìÍ÷¤Ç½ÅÎ̤òɽ¼¨¤¹¤ë" },
 #else
-       { &manual_haggle,               FALSE, 3, 1, 0,
-       "manual_haggle",                "Manually haggle in stores" },
+       { &show_weights,                TRUE,  OPT_PAGE_TEXT, 0, 11,
+       "show_weights",                 "Show weights in object listings" },
 #endif
 
-
 #ifdef JP
-       { &auto_scum,                   FALSE, 3, 1, 1,
-        "auto_scum",                    "³¬¤ÎÊ·°Ïµ¤¼«Æ°Áª¤ê¹¥¤ß" },
+       { &show_item_graph,             TRUE,  OPT_PAGE_TEXT, 2, 0,
+       "show_item_graph",              "¥¢¥¤¥Æ¥à¤Î¥·¥ó¥Ü¥ë¤òɽ¼¨¤¹¤ë" },
 #else
-       { &auto_scum,                   FALSE, 3, 1, 1,
-       "auto_scum",                    "Auto-scum for good levels" },
+       { &show_item_graph,             TRUE,  OPT_PAGE_TEXT, 2, 0,
+       "show_item_graph",              "Show items graphics" },
 #endif
 
-
 #ifdef JP
-       { &stack_force_notes,           TRUE,  3, 0, 8,
-        "stack_force_notes",            "°Û¤Ê¤ëÌäΥ¢¥¤¥Æ¥à¤ò¤Þ¤È¤á¤ë" },
+       { &equippy_chars,               TRUE,  OPT_PAGE_TEXT, 1, 12,
+       "equippy_chars",                "¥¹¥Æ¡¼¥¿¥¹¤Ëʸ»ú¤ÇÁõÈ÷¤òɽ¼¨¤¹¤ë" },
 #else
-       { &stack_force_notes,           TRUE,  3, 0, 8,
-       "stack_force_notes",            "Merge inscriptions when stacking" },
+       { &equippy_chars,               TRUE,  OPT_PAGE_TEXT, 1, 12,
+       "equippy_chars",                "Display 'equippy' chars" },
 #endif
 
-
 #ifdef JP
-       { &stack_force_costs,           FALSE, 3, 0, 9,
-        "stack_force_costs",            "°Û¤Ê¤ë³ä°úɽ¼¨¤Î¥¢¥¤¥Æ¥à¤ò¤Þ¤È¤á¤ë" },
+       { &display_mutations,           FALSE, OPT_PAGE_TEXT, 5, 0,
+       "display_mutations",            "'C'¥³¥Þ¥ó¥É¤ÇÆÍÁ³ÊÑ°Û¤òɽ¼¨¤¹¤ë" },
 #else
-       { &stack_force_costs,           FALSE, 3, 0, 9,
-       "stack_force_costs",            "Merge discounts when stacking" },
+       { &display_mutations,           FALSE, OPT_PAGE_TEXT, 5, 0,
+       "display_mutations",            "Display mutations in 'C'haracter Display" },
 #endif
 
-
 #ifdef JP
-       { &stack_allow_items,           TRUE,  3, 1, 2,
-       "stack_allow_items",            "Ʊ¼ï¤ÎÉð´ï¤äËɶñ¤ò¤Þ¤È¤á¤ë" },
+       { &compress_savefile,           FALSE, OPT_PAGE_TEXT, 1, 26,
+       "compress_savefile",            "¥»¡¼¥Ö¡¦¥Õ¥¡¥¤¥ëÃæ¤Î¥á¥Ã¥»¡¼¥¸¤ò°µ½Ì¤¹¤ë" },
 #else
-       { &stack_allow_items,           TRUE,  3, 1, 2,
-       "stack_allow_items",            "Allow weapons and armor to stack" },
+       { &compress_savefile,           FALSE, OPT_PAGE_TEXT, 1, 26,
+       "compress_savefile",            "Compress messages in savefiles" },
 #endif
 
-
 #ifdef JP
-       { &expand_look,                 TRUE,  3, 1, 4,
-        "expand_look",                  "¡Ö²ó¤ê¤òÄ´¤Ù¤ë¡×¥³¥Þ¥ó¥É¤ò³ÈÄ¥¤¹¤ë" },
+       { &abbrev_extra,                FALSE, OPT_PAGE_TEXT, 2, 10,
+       "abbrev_extra",                 "¥¢¥¤¥Æ¥à¤ËÄɲÃÂÑÀ­/ǽÎϤÎά¾Î¤ò¹ï¤à" },
 #else
-       { &expand_look,                 TRUE,  3, 1, 4,
-       "expand_look",                  "Expand the power of the look command" },
+       { &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
-       { &view_perma_grids,            TRUE,  3, 1, 6,
-        "view_perma_grids",             "ÌÀ¤ë¤¤¾ì½ê¤Ï¤½¤Î¤Þ¤Þ¤Ë¤¹¤ë" },
+       { &exp_need,                    FALSE, OPT_PAGE_TEXT, 2, 12,
+       "exp_need",                     "¼¡¤Î¥ì¥Ù¥ë¤ËɬÍפʷи³Ãͤòɽ¼¨¤¹¤ë" },
 #else
-       { &view_perma_grids,            TRUE,  3, 1, 6,
-       "view_perma_grids",             "Map remembers all perma-lit grids" },
+       { &exp_need,                    FALSE, OPT_PAGE_TEXT, 2, 12,
+       "exp_need",                     "Show the experience needed for next level" },
 #endif
 
-
 #ifdef JP
-       { &view_torch_grids,            FALSE, 3, 1, 7,
-        "view_torch_grids",             "ÌÀ¤«¤ê¤Ç¾È¤é¤·¤¿¾ì½ê¤Ï¤½¤Î¤Þ¤Þ¤Ë¤¹¤ë" },
+       { &ignore_unview,               FALSE, OPT_PAGE_TEXT, 2, 13,
+       "ignore_unview",                "»ë³¦³°¤Î¥â¥ó¥¹¥¿¡¼¤Î¹ÔÆ°¤òɽ¼¨¤·¤Ê¤¤" },
 #else
-       { &view_torch_grids,            FALSE, 3, 1, 7,
-       "view_torch_grids",             "Map remembers all torch-lit grids" },
+       { &ignore_unview,               FALSE, OPT_PAGE_TEXT, 2, 13,
+       "ignore_unview",                "Ignore whenever any monster does" },
 #endif
 
+       /*** Game-Play ***/
 
 #ifdef JP
-       { &view_unsafe_grids,            FALSE, 3, 1, 8,
-        "view_unsafe_grids",             "¥È¥é¥Ã¥×´¶ÃκѤߤǤʤ¤¾ì½ê¤òɽ¼¨¤¹¤ë" },
+       { &stack_force_notes,           TRUE,  OPT_PAGE_GAMEPLAY, 0, 8,
+       "stack_force_notes",            "°Û¤Ê¤ëÌäΥ¢¥¤¥Æ¥à¤ò¤Þ¤È¤á¤ë" },
 #else
-       { &view_unsafe_grids,            FALSE, 3, 1, 8,
-       "view_unsafe_grids",             "Map marked by detect traps" },
+       { &stack_force_notes,           TRUE,  OPT_PAGE_GAMEPLAY, 0, 8,
+       "stack_force_notes",            "Merge inscriptions when stacking" },
 #endif
 
-
 #ifdef JP
-       { &dungeon_stair,               TRUE,  3, 1, 9,
-        "dungeon_stair",                "³¬Ãʤò¤Ä¤Ê¤²¤Æ¥À¥ó¥¸¥ç¥ó¤òÀ¸À®¤¹¤ë" },
+       { &stack_force_costs,           FALSE, OPT_PAGE_GAMEPLAY, 0, 9,
+       "stack_force_costs",            "°Û¤Ê¤ë³ä°úɽ¼¨¤Î¥¢¥¤¥Æ¥à¤ò¤Þ¤È¤á¤ë" },
 #else
-       { &dungeon_stair,               TRUE,  3, 1, 9,
-       "dungeon_stair",                "Generate dungeons with connected stairs" },
+       { &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",                 "¶õ¤Ã¤Ý¤Î¡Ö¥¢¥ê¡¼¥Ê¡×¥ì¥Ù¥ë¤ÎÀ¸À®¤ò²Äǽ¤Ë¤¹¤ë" },
+       { &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",                   "¥¹¥³¥¢¥µ¡¼¥Ð¤Ë¥¹¥³¥¢¤òÁ÷¤ë" },
+       { &send_score,                  TRUE,  OPT_PAGE_GAMEPLAY, 4, 6,
+       "send_score",                   "¥¹¥³¥¢¥µ¡¼¥Ð¤Ë¥¹¥³¥¢¤òÁ÷¤ë" },
 #else
-       { &send_score,                  TRUE,  3, 4, 6,
-        "send_score",                   "Send score dump to the world score server" },
+       { &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, OPT_PAGE_GAMEPLAY, 6, 11,
+       "allow_debug_opts",             "¥Ç¥Ð¥Ã¥°/º¾µ½¥ª¥×¥·¥ç¥ó¤òµö²Ä¤¹¤ë" },
+#else
+       { &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
-       { &find_examine,                TRUE,  4, 0, 19,
-       "find_examine",                 "ÄÌÏ©¤¬°Å¤¤»þ¤Ë¤Ê¤ë¤Ù¤¯¶Ê¤ê³Ñ¤È²¾Äꤷ¤ÆÄ̲᤹¤ë" },
+       { &check_abort,                 TRUE,  OPT_PAGE_DISTURBANCE, 1, 18,
+       "check_abort",                  "Ϣ³¥³¥Þ¥ó¥É¤Ï¥­¡¼ÆþÎϤÇÃæÃǤ¹¤ë" },
 #else
-       { &find_examine,                TRUE,  4, 0, 19,
-       "find_examine",                 "Run into potential corners" },
-#endif
-
-
-#ifdef JP
-       { &disturb_move,                FALSE,  4, 0, 20,
-        "disturb_move",                 "¤É¤³¤Î¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤Æ¤â¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
-#else
-       { &disturb_move,                FALSE,  4, 0, 20,
-       "disturb_move",                 "Disturb whenever any monster moves" },
-#endif
-
-
-#ifdef JP
-       { &disturb_near,                TRUE,  4, 0, 21,
-        "disturb_near",                 "»ë³¦Æâ¤Î¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
-#else
-       { &disturb_near,                TRUE,  4, 0, 21,
-       "disturb_near",                 "Disturb whenever viewable monster moves" },
-#endif
-
-
-#ifdef JP
-       { &disturb_pets,                FALSE, 4, 5, 6,
-       "disturb_pets",                 "»ë³¦Æâ¤Î¥Ú¥Ã¥È¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
-#else
-       { &disturb_pets,                FALSE, 4, 5, 6,
-       "disturb_pets",                 "Disturb when visible pets move" },
-#endif
-
-
-#ifdef JP
-       { &disturb_panel,               TRUE,  4, 0, 22,
-        "disturb_panel",                "²èÌÌ¥¹¥¯¥í¡¼¥ë»þ¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
-#else
-       { &disturb_panel,               TRUE,  4, 0, 22,
-       "disturb_panel",                "Disturb whenever map panel changes" },
-#endif
-
-
-#ifdef JP
-       { &disturb_state,               TRUE,  4, 0, 23,
-        "disturb_state",                "¼«Ê¬¤Î¥¹¥Æ¡¼¥¿¥¹ÊѲ½»þ¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
-#else
-       { &disturb_state,               TRUE,  4, 0, 23,
-       "disturb_state",                "Disturb whenever player state changes" },
-#endif
-
-
-#ifdef JP
-       { &disturb_minor,               TRUE,  4, 0, 24,
-        "disturb_minor",                "º³ºÙ¤Ê¤³¤È¤¬µ¯¤­¤Æ¤â¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
-#else
-       { &disturb_minor,               TRUE,  4, 0, 24,
-       "disturb_minor",                "Disturb whenever boring things happen" },
-#endif
-
-
-#ifdef JP
-       { &ring_bell,                   FALSE, 4, 0, 14,
-        "ring_bell",                    "¥¨¥é¡¼»þ¤Ë¥Ó¡¼¥×²»¤òÌĤ餹" },
-#else
-       { &ring_bell,                   FALSE, 4, 0, 14,
-       "ring_bell",                    "Audible bell (on errors, etc)" },
+       { &check_abort,                 TRUE,  OPT_PAGE_DISTURBANCE, 1, 18,
+       "check_abort",                  "Check for user abort while continuous command" },
 #endif
 
-
 #ifdef JP
-       { &alert_hitpoint,              TRUE, 4, 0, 26,
-        "alert_hitpoint",               "Äã¥Ò¥Ã¥È¥Ý¥¤¥ó¥È¤Î·Ù¹ð»þ¤Ë¥Ó¡¼¥×¤òÌĤ餹" },
+       { &flush_failure,               TRUE,  OPT_PAGE_DISTURBANCE, 1, 20,
+       "flush_failure",                "ÍÍ¡¹¤Ê¥ß¥¹È¯À¸»þ¤ËÆþÎϤò¥¯¥ê¥¢¤¹¤ë" },
 #else
-       { &alert_hitpoint,              TRUE, 4, 0, 26,
-       "alert_hitpoint",               "Alert user to critical hitpoints" },
+       { &flush_failure,               TRUE,  OPT_PAGE_DISTURBANCE, 1, 20,
+       "flush_failure",                "Flush input on various failures" },
 #endif
 
-
 #ifdef JP
-       { &disturb_trap_detect,         TRUE, 4, 0, 27,
-        "disturb_trap_detect",          "¥È¥é¥Ã¥×´¶ÃÎÈϰϳ°¤Ë½Ð¤ëľÁ°¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
+       { &flush_disturb,               FALSE, OPT_PAGE_DISTURBANCE, 1, 21,
+       "flush_disturb",                "¾ã³²È¯À¸»þ¤ËÆþÎϤò¥¯¥ê¥¢¤¹¤ë" },
 #else
-       { &disturb_trap_detect,         TRUE, 4, 0, 27,
-       "disturb_trap_detect",          "Disturb when leaving trap detected area"},
+       { &flush_disturb,               FALSE, OPT_PAGE_DISTURBANCE, 1, 21,
+       "flush_disturb",                "Flush input whenever disturbed" },
 #endif
 
 #ifdef JP
-       { &alert_trap_detect,           FALSE, 4, 0, 25,
-        "alert_trap_detect",            "¥È¥é¥Ã¥×´¶ÃÎÈϰϳ°¤Ë½Ð¤ëľÁ°¤Ë·Ù¹ð¤¹¤ë" },
+       { &disturb_move,                FALSE, OPT_PAGE_DISTURBANCE, 0, 20,
+       "disturb_move",                 "¤É¤³¤Î¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤Æ¤â¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &alert_trap_detect,           FALSE, 4, 0, 25,
-       "alert_trap_detect",            "Alert when leaving trap detected area"},
+       { &disturb_move,                FALSE, OPT_PAGE_DISTURBANCE, 0, 20,
+       "disturb_move",                 "Disturb whenever any monster moves" },
 #endif
 
-
-       /*** Efficiency ***/
-
 #ifdef JP
-       { &view_reduce_lite,            FALSE, 5, 1, 16,
-     "view_reduce_lite",  "Áö¤Ã¤Æ¤¤¤ë¤È¤­¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¸º¾¯¤¹¤ë" },
+       { &disturb_high,                FALSE, OPT_PAGE_DISTURBANCE, 1, 3,
+       "disturb_high",                 "¥ì¥Ù¥ë¤Î¹â¤¤¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &view_reduce_lite,            FALSE, 5, 1, 16,
-       "view_reduce_lite",             "Reduce lite-radius when running" },
+       { &disturb_high,                FALSE, OPT_PAGE_DISTURBANCE, 1, 3,
+       "disturb_high",                 "Disturb whenever high-level monster moves" },
 #endif
 
-
 #ifdef JP
-       { &view_reduce_view,            FALSE, 5, 1, 17,
-       "view_reduce_view",             "³¹¤Ç¤Ï»ëÌî¤ò¶¹¤¯¤¹¤ë" },
+       { &disturb_near,                TRUE,  OPT_PAGE_DISTURBANCE, 0, 21,
+       "disturb_near",                 "»ë³¦Æâ¤Î¥â¥ó¥¹¥¿¡¼¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &view_reduce_view,            FALSE, 5, 1, 17,
-       "view_reduce_view",             "Reduce view-radius in town" },
+       { &disturb_near,                TRUE,  OPT_PAGE_DISTURBANCE, 0, 21,
+       "disturb_near",                 "Disturb whenever viewable monster moves" },
 #endif
 
-
 #ifdef JP
-       { &check_abort,                 TRUE,  5, 1, 18,
-        "check_abort",                  "Ϣ³¥³¥Þ¥ó¥É¤Ï¥­¡¼ÆþÎϤÇÃæÃǤ¹¤ë" },
+       { &disturb_pets,                FALSE, OPT_PAGE_DISTURBANCE, 5, 6,
+       "disturb_pets",                 "»ë³¦Æâ¤Î¥Ú¥Ã¥È¤¬Æ°¤¤¤¿¤é¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &check_abort,                 TRUE,  5, 1, 18,
-       "check_abort",                  "Check for user abort while continuous command" },
+       { &disturb_pets,                FALSE, OPT_PAGE_DISTURBANCE, 5, 6,
+       "disturb_pets",                 "Disturb when visible pets move" },
 #endif
 
-
 #ifdef JP
-       { &flush_failure,               TRUE,  5, 1, 20,
-        "flush_failure",                "ÍÍ¡¹¤Ê¥ß¥¹È¯À¸»þ¤ËÆþÎϤò¥¯¥ê¥¢¤¹¤ë" },
+       { &disturb_panel,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 22,
+       "disturb_panel",                "²èÌÌ¥¹¥¯¥í¡¼¥ë»þ¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &flush_failure,               TRUE,  5, 1, 20,
-       "flush_failure",                "Flush input on various failures" },
+       { &disturb_panel,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 22,
+       "disturb_panel",                "Disturb whenever map panel changes" },
 #endif
 
-
 #ifdef JP
-       { &flush_disturb,               FALSE, 5, 1, 21,
-        "flush_disturb",                "¾ã³²È¯À¸»þ¤ËÆþÎϤò¥¯¥ê¥¢¤¹¤ë" },
+       { &disturb_state,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 23,
+       "disturb_state",                "¼«Ê¬¤Î¥¹¥Æ¡¼¥¿¥¹ÊѲ½»þ¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &flush_disturb,               FALSE, 5, 1, 21,
-       "flush_disturb",                "Flush input whenever disturbed" },
+       { &disturb_state,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 23,
+       "disturb_state",                "Disturb whenever player state changes" },
 #endif
 
-
 #ifdef JP
-       { &fresh_before,                TRUE,  5, 1, 23,
-        "fresh_before",                 "Ϣ³¥³¥Þ¥ó¥ÉÃæ¤Ë²èÌ̤òºÆÉÁ²è¤·Â³¤±¤ë" },
+       { &disturb_minor,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 24,
+       "disturb_minor",                "º³ºÙ¤Ê¤³¤È¤¬µ¯¤­¤Æ¤â¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &fresh_before,                TRUE,  5, 1, 23,
-        "fresh_before",                 "Flush output while continuous command" },
+       { &disturb_minor,               TRUE,  OPT_PAGE_DISTURBANCE, 0, 24,
+       "disturb_minor",                "Disturb whenever boring things happen" },
 #endif
 
-
 #ifdef JP
-       { &fresh_after,                 FALSE, 5, 1, 24,
-        "fresh_after",                  "¥³¥Þ¥ó¥É¸å¤Ë²èÌ̤ò¾ï¤ËºÆÉÁ²è¤·Â³¤±¤ë" },
+       { &ring_bell,                   FALSE, OPT_PAGE_DISTURBANCE, 0, 14,
+       "ring_bell",                    "¥¨¥é¡¼»þ¤Ë¥Ó¡¼¥×²»¤òÌĤ餹" },
 #else
-       { &fresh_after,                 FALSE, 5, 1, 24,
-       "fresh_after",                  "Flush output after monster's move" },
+       { &ring_bell,                   FALSE, OPT_PAGE_DISTURBANCE, 0, 14,
+       "ring_bell",                    "Audible bell (on errors, etc)" },
 #endif
 
-
 #ifdef JP
-       { &fresh_message,               FALSE, 5, 1, 25,
-       "fresh_message",                "¥á¥Ã¥»¡¼¥¸¤Î¸å¤Ë²èÌ̤òºÆÉÁ²è¤¹¤ë" },
+       { &disturb_trap_detect,         TRUE,  OPT_PAGE_DISTURBANCE, 0, 27,
+       "disturb_trap_detect",          "¥È¥é¥Ã¥×´¶ÃÎÈϰϳ°¤Ë½Ð¤ëľÁ°¤Ë¹ÔÆ°¤òÃæ»ß¤¹¤ë" },
 #else
-       { &fresh_message,               FALSE, 5, 1, 25,
-       "fresh_message",                "Flush output after every message" },
+       { &disturb_trap_detect,         TRUE,  OPT_PAGE_DISTURBANCE, 0, 27,
+       "disturb_trap_detect",          "Disturb when leaving trap detected area" },
 #endif
 
-
 #ifdef JP
-       { &compress_savefile,           FALSE, 5, 1, 26,
-        "compress_savefile",            "¥»¡¼¥Ö¡¦¥Õ¥¡¥¤¥ëÃæ¤Î¥á¥Ã¥»¡¼¥¸¤ò°µ½Ì¤¹¤ë" },
+       { &alert_trap_detect,           FALSE, OPT_PAGE_DISTURBANCE, 0, 25,
+       "alert_trap_detect",            "¥È¥é¥Ã¥×´¶ÃÎÈϰϳ°¤Ë½Ð¤ëľÁ°¤Ë·Ù¹ð¤¹¤ë" },
 #else
-       { &compress_savefile,           FALSE, 5, 1, 26,
-       "compress_savefile",            "Compress messages in savefiles" },
+       { &alert_trap_detect,           FALSE, OPT_PAGE_DISTURBANCE, 0, 25,
+       "alert_trap_detect",            "Alert when leaving trap detected area" },
 #endif
 
+       /*** Birth Options ***/
 
 #ifdef JP
-       { &hilite_player,               FALSE,  5, 1, 27,
-       "hilite_player",                "¥×¥ì¥¤¥ä¡¼¤Ë¥«¡¼¥½¥ë¤ò¹ç¤ï¤»¤ë" },
+       { &manual_haggle,               FALSE, OPT_PAGE_BIRTH, 1, 0,
+       "manual_haggle",                "Ź¤ÇÃÍÀÚ¤ê¸ò¾Ä¤ò¤¹¤ë" },
 #else
-       { &hilite_player,               FALSE,  5, 1, 27,
-       "hilite_player",                "Hilite the player with the cursor" },
+       { &manual_haggle,               FALSE, OPT_PAGE_BIRTH, 1, 0,
+       "manual_haggle",                "Manually haggle in stores" },
 #endif
 
-
-       /*** Birth Options ***/
-
 #ifdef JP
-       { &easy_band,                   FALSE, 6, 6, 31,
-        "easy_band",                    "½é¿´¼ÔÍÑ´Êñ¥â¡¼¥É(*)" },
+       { &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",                  "¥â¥ó¥¹¥¿¡¼¤Ï¼ºÇÔ¤ò³Ø½¬¤¹¤ë(*)" },
+       { &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",                  "¥â¥ó¥¹¥¿¡¼¤Ï¥×¥ì¥¤¥ä¡¼¤Î¼å¤ß¤òÆͤ¯(*)" },
+       { &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
-       { &stupid_monsters,             FALSE, 6, 5, 2,
-       "stupid_monsters",              "¥â¥ó¥¹¥¿¡¼¤¬´ÖÈ´¤±¤Ê¹ÔÆ°¤ò¤È¤ë(*)" },
-#else
-       { &stupid_monsters,             FALSE, 6, 5, 2,
-       "stupid_monsters",              "Monsters behave stupidly (*)" },
-#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",             "¡ÊÅ´¿ÍÍѡ˾ï¤Ë³¬¤ÎÊ·°Ïµ¤¤ò¼«Æ°Áª¤ê¹¥¤ß¤¹¤ë" },
+       { &ironman_empty_levels,        FALSE, OPT_PAGE_BIRTH, 6, 8,
+       "ironman_empty_levels",         "(Å´¿ÍÍÑ)¾ï¤Ë¶õ¤Ã¤Ý¤Î¥¢¥ê¡¼¥Ê¥ì¥Ù¥ë¤òÀ¸À®(*)" },
 #else
-       { &ironman_autoscum,            FALSE, 6, 6, 5,
-       "ironman_autoscum",             "Permanently enable the autoscummer" },
+       { &ironman_empty_levels,        FALSE, OPT_PAGE_BIRTH, 6, 8,
+       "ironman_empty_levels",         "Always create empty 'arena' levels (*)" },
 #endif
 
-
 #ifdef JP
-       { &ironman_empty_levels,         FALSE, 6, 6, 8,
-       "ironman_empty_levels",          "¡ÊÅ´¿ÍÍѡ˾ï¤Ë¶õ¤Ã¤Ý¤Î¥¢¥ê¡¼¥Ê¥ì¥Ù¥ë¤òÀ¸À®(*)" },
+       { &ironman_rooms,               FALSE, OPT_PAGE_BIRTH, 6, 12,
+       "ironman_rooms",                "(Å´¿ÍÍÑ)¾ï¤ËÉáÄ̤Ǥʤ¤Éô²°¤òÀ¸À®¤¹¤ë(*)" },
 #else
-       { &ironman_empty_levels,        FALSE, 6, 6, 8,
-       "ironman_empty_levels",         "Always create empty 'arena' levels (*)" },
+       { &ironman_rooms,               FALSE, OPT_PAGE_BIRTH, 6, 12,
+       "ironman_rooms",                "Always generate very unusual rooms (*)" },
 #endif
 
-
 #ifdef JP
-       { &terrain_streams,              TRUE,  6, 6, 9,
-       "terrain_streams",               "Àî¤ä¿¹¤Ê¤É¤ò¥À¥ó¥¸¥ç¥ó¤ËÀ¸À®(*)" },
+       { &ironman_nightmare,           FALSE, OPT_PAGE_BIRTH, 6, 18,
+       "ironman_nightmare",            "(Å´¿ÍÍÑ)°­Ì´¥â¡¼¥É(¤³¤ì¤ÏÁ´¤¯ÉÔ¾òÍý¤Ç¤¹¡ª)(*)" },
 #else
-       { &terrain_streams,              TRUE,  6, 6, 9,
-       "terrain_streams",               "Create terrain 'streamers' in the dungeon (*)" },
+       { &ironman_nightmare,           FALSE, OPT_PAGE_BIRTH, 6, 18,
+       "ironman_nightmare",            "Nightmare mode(it isn't even remotely fair!)(*)" },
 #endif
 
-
 #ifdef JP
-       { &munchkin_death,               FALSE, 6, 6, 11,
-       "munchkin_death",                "¡Ê¤¤¤ó¤Á¤­¡Ë»à¤ó¤À»þ¥»¡¼¥Ö¤¹¤ë¤«³Îǧ¤¹¤ë(*)" },
+       { &left_hander,                 FALSE, OPT_PAGE_BIRTH, 6, 13,
+       "left_hander",                  "º¸Íø¤­¤Ç¤¢¤ë" },
 #else
-       { &munchkin_death,              FALSE, 6, 6, 11,
-       "munchkin_death",               "(Cheating) Ask for death saves (*)" },
+       { &left_hander,                 FALSE, OPT_PAGE_BIRTH, 6, 13,
+       "left_hander",                  "Left-Hander" },
 #endif
 
-
 #ifdef JP
-       { &ironman_rooms,                FALSE, 6, 6, 12,
-       "ironman_rooms",                 "¡ÊÅ´¿ÍÍѡ˾ï¤ËÉáÄ̤Ǥʤ¤Éô²°¤òÀ¸À®¤¹¤ë(*)" },
+       { &preserve_mode,               TRUE,  OPT_PAGE_BIRTH, 6, 14,
+       "preserve_mode",                "ÅÁÀâ¤Î¥¢¥¤¥Æ¥à¤ò¼è¤êƨ¤·¤Æ¤âºÆÀ¸À®¤µ¤ì¤ë(*)" },
 #else
-       { &ironman_rooms,               FALSE, 6, 6, 12,
-       "ironman_rooms",                "Always generate very unusual rooms (*)" },
+       { &preserve_mode,               TRUE,  OPT_PAGE_BIRTH, 6, 14,
+       "preserve_mode",                "Preserve artifacts (*)" },
 #endif
 
-
 #ifdef JP
-       { &ironman_nightmare,           FALSE, 6, 6, 18,
-        "ironman_nightmare",           "¡ÊÅ´¿ÍÍÑ¡Ë°­Ì´¥â¡¼¥É(¤³¤ì¤ÏÁ´¤¯ÉÔ¾òÍý¤Ç¤¹¡ª)(*)" },
+       { &autoroller,                  TRUE,  OPT_PAGE_BIRTH, 6, 15,
+       "autoroller",                   "ǽÎÏÃͤ˥ª¡¼¥È¥í¡¼¥é¡¼»ÈÍÑ(*)" },
 #else
-       { &ironman_nightmare,           FALSE, 6, 6, 18,
-        "ironman_nightmare",           "Nightmare mode(it isn't even remotely fair!)(*)" },
+       { &autoroller,                  TRUE,  OPT_PAGE_BIRTH, 6, 15,
+       "autoroller",                   "Allow use of autoroller for stats (*)" },
 #endif
 
 #ifdef JP
-        { &left_hander,                 FALSE, 6, 6, 13,
-        "left_hander",                  "º¸Íø¤­¤Ç¤¢¤ë" },
+       { &autochara,                   FALSE, OPT_PAGE_BIRTH, 6, 16,
+       "autochara",                   "ÂγÊ/Ãϰ̤˥ª¡¼¥È¥í¡¼¥é¡¼»ÈÍÑ" },
 #else
-       { &left_hander,                 FALSE, 6, 6, 13,
-       "left_hander",                  "Left-Hander" },
+       { &autochara,                   FALSE, OPT_PAGE_BIRTH, 6, 16,
+       "autochara",                    "Autoroll for weight, height and social status" },
 #endif
 
-
 #ifdef JP
-        { &preserve_mode,               TRUE,  6, 6, 14,
-        "preserve_mode",                "ÅÁÀâ¤Î¥¢¥¤¥Æ¥à¤ò¼è¤êƨ¤·¤Æ¤âºÆÀ¸À®¤µ¤ì¤ë(*)" },
+       { &powerup_home,                TRUE,  OPT_PAGE_BIRTH, 4, 3,
+       "powerup_home",                 "²æ¤¬²È¤ò³ÈÄ¥¤¹¤ë(*)" },
 #else
-       { &preserve_mode,               TRUE,  6, 6, 14,
-       "preserve_mode",                "Preserve artifacts (*)" },
+       { &powerup_home,                TRUE,  OPT_PAGE_BIRTH, 4, 3,
+       "powerup_home",                 "Increase capacity of your home (*)" },
 #endif
 
+       /*** Easy Object Auto-Destroyer ***/
 
 #ifdef JP
-        { &autoroller,                  TRUE,  6, 6, 15,
-        "autoroller",                   "ǽÎÏÃͤ˥ª¡¼¥È¥í¡¼¥é¡¼»ÈÍÑ(*)" },
+       { &destroy_items,               FALSE, OPT_PAGE_AUTODESTROY, 7, 0,
+       "destroy_items",                "¥¢¥¤¥Æ¥à¤Î´Ê°×¼«Æ°Ç˲õ¤ò»ÈÍѤ¹¤ë" },
 #else
-       { &autoroller,                  TRUE,  6, 6, 15,
-       "autoroller",                   "Allow use of autoroller for stats (*)" },
+       { &destroy_items,               FALSE, OPT_PAGE_AUTODESTROY, 7, 0,
+       "destroy_items",                "Use easy auto-destroyer" },
 #endif
 
-
 #ifdef JP
-        { &autochara,                   FALSE, 6, 6, 16,
-        "autochara",                   "ÂγÊ/Ãϰ̤˥ª¡¼¥È¥í¡¼¥é¡¼»ÈÍÑ" },
+       { &destroy_feeling,             FALSE, OPT_PAGE_AUTODESTROY, 7, 8,
+       "destroy_feeling",              "´Ê°×´ÕÄꤷ¤¿¤È¤­¼«Æ°Ç˲õ¤òŬÍѤ¹¤ë" },
 #else
-       { &autochara,                   FALSE, 6, 6, 16,
-       "autochara",                    "Autoroll for weight, height and social status" },
+       { &destroy_feeling,             FALSE, OPT_PAGE_AUTODESTROY, 7, 8,
+       "destroy_feeling",              "Apply auto-destroy as sense feeling" },
 #endif
 
-
 #ifdef JP
-       { &powerup_home,                TRUE,  6, 4, 3,
-        "powerup_home",                 "²æ¤¬²È¤ò³ÈÄ¥¤¹¤ë(*)" },
-
+       { &destroy_identify,            FALSE, OPT_PAGE_AUTODESTROY, 7, 9,
+       "destroy_identify",             "´ÕÄꤷ¤¿¤È¤­¼«Æ°Ç˲õ¤òŬÍѤ¹¤ë" },
 #else
-       { &powerup_home,                TRUE,  6, 4, 3,
-        "powerup_home",                 "Increase capacity of your home (*)" },
+       { &destroy_identify,            FALSE, OPT_PAGE_AUTODESTROY, 7, 9,
+       "destroy_identify",             "Apply auto-destroy as identify an item" },
 #endif
 
-
-       /*** Easy Object Auto-Destroyer ***/
-
 #ifdef JP
-        { &destroy_items,               FALSE, 7, 7, 0,
-        "destroy_items",                "¥¢¥¤¥Æ¥à¤Î´Ê°×¼«Æ°Ç˲õ¤ò»ÈÍѤ¹¤ë" },
+       { &leave_worth,                 TRUE,  OPT_PAGE_AUTODESTROY, 7, 2,
+       "leave_worth",                  "²ÁÃͤ¬¤¢¤ë¥¢¥¤¥Æ¥à¤Ï²õ¤µ¤Ê¤¤" },
 #else
-        { &destroy_items,               FALSE, 7, 7, 0,
-        "destroy_items",                "Use easy auto-destroyer" },
+       { &leave_worth,                 TRUE,  OPT_PAGE_AUTODESTROY, 7, 2,
+       "leave_worth",                  "Auto-destroyer leaves known worthy items" },
 #endif
 
 #ifdef JP
-        { &leave_worth,                 TRUE, 7, 7, 2,
-        "leave_worth",                  "²ÁÃͤ¬¤¢¤ë¥¢¥¤¥Æ¥à¤Ï²õ¤µ¤Ê¤¤" },
+       { &leave_equip,                 FALSE, OPT_PAGE_AUTODESTROY, 7, 3,
+       "leave_equip",                  "Éð´ï/Ëɶñ¤Ï²õ¤µ¤Ê¤¤" },
 #else
-        { &leave_worth,                 TRUE, 7, 7, 2,
-        "leave_worth",                  "Auto-destroyer leaves known worthy items" },
+       { &leave_equip,                 FALSE, OPT_PAGE_AUTODESTROY, 7, 3,
+       "leave_equip",                  "Auto-destroyer leaves weapons and armour" },
 #endif
 
 #ifdef JP
-        { &leave_equip,                 FALSE, 7, 7, 3,
-        "leave_equip",                  "Éð´ï/Ëɶñ¤Ï²õ¤µ¤Ê¤¤" },
+       { &leave_chest,                 TRUE,  OPT_PAGE_AUTODESTROY, 7, 7,
+       "leave_chest",                  "³«Éõ¤µ¤ì¤Æ¤¤¤Ê¤¤È¢¤Ï²õ¤µ¤Ê¤¤" },
 #else
-        { &leave_equip,                 FALSE, 7, 7, 3,
-        "leave_equip",                  "Auto-destroyer leaves weapons and armour" },
+       { &leave_chest,                 TRUE,  OPT_PAGE_AUTODESTROY, 7, 7,
+       "leave_chest",                  "Auto-destroyer leaves closed chests" },
 #endif
 
 #ifdef JP
-        { &leave_chest,                 TRUE, 7, 7, 7,
-        "leave_chest",                  "³«Éõ¤µ¤ì¤Æ¤¤¤Ê¤¤È¢¤Ï²õ¤µ¤Ê¤¤" },
+       { &leave_wanted,                TRUE,  OPT_PAGE_AUTODESTROY, 7, 4,
+       "leave_wanted",                 "¾Þ¶â¼ó¤Î»àÂÎ/¹ü¤Ï²õ¤µ¤Ê¤¤" },
 #else
-        { &leave_chest,                 TRUE, 7, 7, 7,
-        "leave_chest",                  "Auto-destroyer leaves closed chests" },
+       { &leave_wanted,                TRUE,  OPT_PAGE_AUTODESTROY, 7, 4,
+       "leave_wanted",                 "Auto-destroyer leaves wanted corpses" },
 #endif
 
 #ifdef JP
-        { &leave_wanted,                TRUE, 7, 7, 4,
-        "leave_wanted",                 "¾Þ¶â¼ó¤Î»àÂÎ/¹ü¤Ï²õ¤µ¤Ê¤¤" },
+       { &leave_corpse,                FALSE, OPT_PAGE_AUTODESTROY, 7, 5,
+       "leave_corpse",                 "»àÂÎ/¹ü¤Ï²õ¤µ¤Ê¤¤" },
 #else
-        { &leave_wanted,                TRUE, 7, 7, 4,
-        "leave_wanted",                 "Auto-destroyer leaves wanted corpses" },
+       { &leave_corpse,                FALSE, OPT_PAGE_AUTODESTROY, 7, 5,
+       "leave_corpse",                 "Auto-destroyer leaves corpses and skeletons" },
 #endif
 
 #ifdef JP
-        { &leave_corpse,                FALSE, 7, 7, 5,
-        "leave_corpse",                 "»àÂÎ/¹ü¤Ï²õ¤µ¤Ê¤¤" },
+       { &leave_junk,                  FALSE, OPT_PAGE_AUTODESTROY, 7, 6,
+       "leave_junk",                   "¤¬¤é¤¯¤¿¤Ï²õ¤µ¤Ê¤¤" },
 #else
-        { &leave_corpse,                FALSE, 7, 7, 5,
-        "leave_corpse",                 "Auto-destroyer leaves corpses and skeletons" },
+       { &leave_junk,                  FALSE, OPT_PAGE_AUTODESTROY, 7, 6,
+       "leave_junk",                   "Auto-destroyer leaves junk" },
 #endif
 
 #ifdef JP
-        { &leave_junk,                  FALSE, 7, 7, 6,
-        "leave_junk",                   "¤¬¤é¤¯¤¿¤Ï²õ¤µ¤Ê¤¤" },
+       { &leave_special,               TRUE,  OPT_PAGE_AUTODESTROY, 7, 1,
+       "leave_special",                "¼ï²/¿¦¶È¤ÇÆÃÊ̤ËɬÍפʥ¢¥¤¥Æ¥à¤Ï²õ¤µ¤Ê¤¤" },
 #else
-        { &leave_junk,                  FALSE, 7, 7, 6,
-        "leave_junk",                   "Auto-destroyer leaves junk" },
+       { &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",               "¸ÇÄꥢ¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ÎÆþ¼ê¤òµ­Ï¿¤¹¤ë" },
+       { &record_fix_art,              TRUE,  OPT_PAGE_PLAYRECORD, 4, 11,
+       "record_fix_art",               "¸ÇÄꥢ¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ÎÆþ¼ê¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_fix_art,              TRUE, 10, 4, 11,
-        "record_fix_art",               "Record fixed artifacts" },
+       { &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",              "¥é¥ó¥À¥à¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ÎÆþ¼ê¤òµ­Ï¿¤¹¤ë" },
+       { &record_rand_art,             TRUE,  OPT_PAGE_PLAYRECORD, 4, 12,
+       "record_rand_art",              "¥é¥ó¥À¥à¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ÎÆþ¼ê¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_rand_art,             TRUE, 10, 4, 12,
-        "record_rand_art",              "Record random artifacts" },
+       { &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",          "¥æ¥Ë¡¼¥¯¥â¥ó¥¹¥¿¡¼¤òÅݤ·¤¿¤È¤­¤òµ­Ï¿¤¹¤ë" },
+       { &record_destroy_uniq,         TRUE,  OPT_PAGE_PLAYRECORD, 4, 13,
+       "record_destroy_uniq",          "¥æ¥Ë¡¼¥¯¥â¥ó¥¹¥¿¡¼¤òÅݤ·¤¿¤È¤­¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_destroy_uniq,         TRUE, 10, 4, 13,
-        "record_destroy_uniq",          "Record when destroy unique monster" },
+       { &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",             "¸ÇÄꥯ¥¨¥¹¥È¤ÎãÀ®¤òµ­Ï¿¤¹¤ë" },
+       { &record_fix_quest,            TRUE,  OPT_PAGE_PLAYRECORD, 4, 14,
+       "record_fix_quest",             "¸ÇÄꥯ¥¨¥¹¥È¤ÎãÀ®¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_fix_quest,            TRUE, 10, 4, 14,
-        "record_fix_quest",             "Record fixed quests" },
+       { &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",            "¥é¥ó¥À¥à¥¯¥¨¥¹¥È¤ÎãÀ®¤òµ­Ï¿¤¹¤ë" },
+       { &record_rand_quest,           TRUE,  OPT_PAGE_PLAYRECORD, 4, 15,
+       "record_rand_quest",            "¥é¥ó¥À¥à¥¯¥¨¥¹¥È¤ÎãÀ®¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_rand_quest,           TRUE, 10, 4, 15,
-        "record_rand_quest",            "Record random quests" },
+       { &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",                 "³¬¤Î°ÜÆ°¤òµ­Ï¿¤¹¤ë" },
+       { &record_stair,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 17,
+       "record_stair",                 "³¬¤Î°ÜÆ°¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_stair,                TRUE, 10, 4, 17,
-        "record_stair",                 "Record recall and stair movements" },
+       { &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",                   "¥¢¥¤¥Æ¥à¤Î¹ØÆþ¤òµ­Ï¿¤¹¤ë" },
+       { &record_buy,                  TRUE,  OPT_PAGE_PLAYRECORD, 4, 18,
+       "record_buy",                   "¥¢¥¤¥Æ¥à¤Î¹ØÆþ¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_buy,                  TRUE, 10, 4, 18,
-        "record_buy",                   "Record purchased items" },
+       { &record_buy,                  TRUE,  OPT_PAGE_PLAYRECORD, 4, 18,
+       "record_buy",                   "Record purchased items" },
 #endif
 
 #ifdef JP
-        { &record_sell,                 FALSE, 10, 4, 19,
-        "record_sell",                  "¥¢¥¤¥Æ¥à¤ÎÇäµÑ¤òµ­Ï¿¤¹¤ë" },
+       { &record_sell,                 FALSE, OPT_PAGE_PLAYRECORD, 4, 19,
+       "record_sell",                  "¥¢¥¤¥Æ¥à¤ÎÇäµÑ¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_sell,                 FALSE, 10, 4, 19,
-        "record_sell",                  "Record sold items" },
+       { &record_sell,                 FALSE, OPT_PAGE_PLAYRECORD, 4, 19,
+       "record_sell",                  "Record sold items" },
 #endif
 
 #ifdef JP
-        { &record_danger,               TRUE, 10, 4, 20,
-        "record_danger",                "¥Ô¥ó¥Á¤Ë¤Ê¤Ã¤¿¤È¤­¤òµ­Ï¿¤¹¤ë" },
+       { &record_danger,               TRUE,  OPT_PAGE_PLAYRECORD, 4, 20,
+       "record_danger",                "¥Ô¥ó¥Á¤Ë¤Ê¤Ã¤¿¤È¤­¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_danger,               TRUE, 10, 4, 20,
-        "record_danger",                "Record hitpoint warning" },
+       { &record_danger,               TRUE,  OPT_PAGE_PLAYRECORD, 4, 20,
+       "record_danger",                "Record hitpoint warning" },
 #endif
 
 #ifdef JP
-        { &record_arena,                TRUE, 10, 4, 21,
-        "record_arena",                 "¥¢¥ê¡¼¥Ê¤Ç¤Î¾¡Íø¤òµ­Ï¿¤¹¤ë" },
+       { &record_arena,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 21,
+       "record_arena",                 "¥¢¥ê¡¼¥Ê¤Ç¤Î¾¡Íø¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_arena,                TRUE, 10, 4, 21,
-        "record_arena",                 "Record arena victories" },
+       { &record_arena,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 21,
+       "record_arena",                 "Record arena victories" },
 #endif
 
 #ifdef JP
-        { &record_ident,                TRUE, 10, 4, 22,
-        "record_ident",                 "̤ȽÌÀ¤Î¥¢¥¤¥Æ¥à¤Î¼±Ê̤òµ­Ï¿¤¹¤ë" },
+       { &record_ident,                TRUE,  OPT_PAGE_PLAYRECORD, 4, 22,
+       "record_ident",                 "̤ȽÌÀ¤Î¥¢¥¤¥Æ¥à¤Î¼±Ê̤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_ident,                TRUE, 10, 4, 22,
-        "record_ident",                 "Record first identified items" },
+       { &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",             "̾Á°¤Ä¤­¥Ú¥Ã¥È¤Î¾ðÊó¤òµ­Ï¿¤¹¤ë" },
+       { &record_named_pet,            FALSE, OPT_PAGE_PLAYRECORD, 4, 23,
+       "record_named_pet",             "̾Á°¤Ä¤­¥Ú¥Ã¥È¤Î¾ðÊó¤òµ­Ï¿¤¹¤ë" },
 #else
-        { &record_named_pet,            FALSE, 10, 4, 23,
-        "record_named_pet",             "Record informations of named pets" },
+       { &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,
@@ -7771,7 +6679,7 @@ cptr game_inscriptions[] =
        "¶²¤í¤·¤¤",      /* FEEL_TERRIBLE */
        "̵²ÁÃÍ",        /* FEEL_WORTHLESS */
        "¼ö¤ï¤ì¤Æ¤¤¤ë",  /* FEEL_CURSED */
-       "¼ö¤¤¤Ê¤·",      /* FEEL_UNCURSED */
+       "¾å¼Á°Ê¾å",      /* FEEL_UNCURSED */
        "ÊÂ",            /* FEEL_AVERAGE */
        "¾å¼Á",          /* FEEL_GOOD */
        "¹âµéÉÊ",        /* FEEL_EXCELLENT */
@@ -7798,10 +6706,10 @@ kamae kamae_shurui[MAX_KAMAE] =
        {"ÀÄε", 35, ""},
        {"¼ë¿ý", 40, ""},
 #else
-       {"Baihu", 25, "(Black Turtle) "},
-       {"Zuan-wu", 30, "(White Tiger) "},
-       {"Qinglong", 35, "(Blue Chinese Dragon) "},
-       {"Zhuque", 40, "(Red Chinese Phoenix) "},
+       {"Genbu", 25, "(Black Tortoise) "},
+       {"Byakko", 30, "(White Tiger) "},
+       {"Seiryuu", 35, "(Blue Dragon) "},
+       {"Suzaku", 40, "(Red Phoenix) "},
 #endif
 };
 
@@ -7820,77 +6728,106 @@ kamae kata_shurui[MAX_KATA] =
 #endif
 };
 
-cptr shougou_moji[5]=
+cptr exp_level_str[5]=
 #ifdef JP
 {"[½é¿´¼Ô]", "[ÆþÌç¼Ô]", "[½ÏÎý¼Ô]", "[¥¨¥­¥¹¥Ñ¡¼¥È]", "[ã¿Í]"};
 #else
 {"[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",
@@ -7926,6 +6863,376 @@ cptr silly_attacks[MAX_SILLY_ATTACK] =
        "falsifies",
        "disbelieves",
        "molests",
-       "pusupusu"
+       "pusupusu",
 };
 #endif
+
+
+/*
+ * The table of "symbol info" -- each entry is a string of the form
+ * "X:desc" where "X" is the trigger, and "desc" is the "info".
+ */
+cptr ident_info[] =
+{
+#ifdef JP
+       " :°Å°Ç",
+       "!:Ìô, ¥ª¥¤¥ë",
+       "\":¥¢¥ß¥å¥ì¥Ã¥È, ðô¾þ¤ê",
+       "#:ÊÉ(±£¤·¥É¥¢)/¿¢Êª/µ¤ÂÎ",
+       "$:ºâÊõ(¶â¤«ÊõÀÐ)",
+       "%:¹ÛÌ®(Íϴ䤫ÀбÑ)",
+       "&:Ȣ",
+       "':³«¤¤¤¿¥É¥¢",
+       "(:Æð¤é¤«¤¤Ëɶñ",
+       "):½â",
+       "*:ºâÊõ¤ò´Þ¤ó¤À¹ÛÌ®¤Þ¤¿¤Ïµå·Á¤Î²øʪ",
+       "+:ÊĤ¸¤¿¥É¥¢",
+       ",:¿©¤Ùʪ, ¤ª¤Ð¤±¥­¥Î¥³",
+       "-:ËâË¡ËÀ, ¥í¥Ã¥É",
+       ".:¾²",
+       "/:´È¾õÉð´ï(¥¢¥Ã¥¯¥¹/¥Ñ¥¤¥¯/Åù)",
+       "0:Çîʪ´Û¤ÎÆþ¸ý",
+       "1:»¨²ß²°¤ÎÆþ¸ý",
+       "2:Ëɶñ²°¤ÎÆþ¸ý",
+       "3:Éð´ïÀìÌ珤ÎÆþ¸ý",
+       "4:»û±¡¤ÎÆþ¸ý",
+       "5:Ï£¶â½Ñ¤ÎŹ¤ÎÆþ¸ý",
+       "6:ËâË¡¤ÎŹ¤ÎÆþ¸ý",
+       "7:¥Ö¥é¥Ã¥¯¥Þ¡¼¥±¥Ã¥È¤ÎÆþ¸ý",
+       "8:²æ¤¬²È¤ÎÆþ¸ý",
+       "9:½ñŹ¤ÎÆþ¸ý",
+       "::´äÀÐ",
+       ";:²óÈò¤ÎĦÁü/Çúȯ¤Î¥ë¡¼¥ó",
+       "<:¾å¤ê³¬ÃÊ",
+       "=:»ØÎØ",
+       ">:²¼¤ê³¬ÃÊ",
+       "?:´¬Êª",
+       "@:¥×¥ì¥¤¥ä¡¼",
+       "A:Å·»È",
+       "B:Ļ",
+       "C:¸¤",
+       "D:¸ÅÂå¥É¥é¥´¥ó/¥ï¥¤¥¢¡¼¥à",
+       "E:¥¨¥ì¥á¥ó¥¿¥ë",
+       "F:¥È¥ó¥Ü",
+       "G:¥´¡¼¥¹¥È",
+       "H:»¨¼ï",
+       "I:º«Ãî",
+       "J:¥Ø¥Ó",
+       "K:¥­¥é¡¼¡¦¥Ó¡¼¥È¥ë",
+       "L:¥ê¥Ã¥Á",
+       "M:¿¼ó¤Îà¨ÃîÎà",
+       "N:Ææ¤ÎÀ¸Êª",
+       "O:¥ª¡¼¥¬",
+       "P:µðÂç¿Í´Ö·¿À¸Êª",
+       "Q:¥¯¥¤¥ë¥¹¥ë¥°(Ì®ÂǤÄÆù²ô)",
+       "R:à¨ÃîÎà/ξÀ¸Îà",
+       "S:ÃØéá/¥µ¥½¥ê/¥À¥Ë",
+       "T:¥È¥í¥ë",
+       "U:¾åµé¥Ç¡¼¥â¥ó",
+       "V:¥Ð¥ó¥Ñ¥¤¥¢",
+       "W:¥ï¥¤¥È/¥ì¥¤¥¹/Åù",
+       "X:¥¾¡¼¥ó/¥¶¥ì¥ó/Åù",
+       "Y:¥¤¥¨¥Æ¥£",
+       "Z:¥Ï¥¦¥ó¥É",
+       "[:·ø¤¤¥¢¡¼¥Þ¡¼",
+       "\\:Æß´ï(¥á¥¤¥¹/¥à¥Á/Åù)",
+       "]:¼ï¡¹¤ÎËɶñ",
+       "^:¥È¥é¥Ã¥×",
+       "_:¾ó",
+       "`:¿Í·Á¡¤Ä¦Áü",
+       "a:¥¢¥ê",
+       "b:¥³¥¦¥â¥ê",
+       "c:¥à¥«¥Ç",
+       "d:¥É¥é¥´¥ó",
+       "e:ÌܶÌ",
+       "f:¥Í¥³",
+       "g:¥´¡¼¥ì¥à",
+       "h:¥Û¥Ó¥Ã¥È/¥¨¥ë¥Õ/¥É¥ï¡¼¥Õ",
+       "i:¥Ù¥È¥Ù¥È",
+       "j:¥¼¥ê¡¼",
+       "k:¥³¥Ü¥ë¥É",
+       "l:¿åÀ³À¸Êª",
+       "m:¥â¥ë¥É",
+       "n:¥Ê¡¼¥¬",
+       "o:¥ª¡¼¥¯",
+       "p:¿Í´Ö",
+       "q:»Í­½Ã",
+       "r:¥Í¥º¥ß",
+       "s:¥¹¥±¥ë¥È¥ó",
+       "t:Ä®¤Î¿Í",
+       "u:²¼µé¥Ç¡¼¥â¥ó",
+       "v:¥Ü¥ë¥Æ¥Ã¥¯¥¹",
+       "w:¥¤¥â¥à¥·/Âç·²",
+       /* "x:unused", */
+       "y:¥¤¡¼¥¯",
+       "z:¥¾¥ó¥Ó/¥ß¥¤¥é",
+       "{:Èô¤ÓÆ»¶ñ¤ÎÃÆ(Ìð/ÃÆ)",
+       "|:Åá·õÎà(¥½¡¼¥É/¥À¥¬¡¼/Åù)",
+       "}:Èô¤ÓÆ»¶ñ(µÝ/¥¯¥í¥¹¥Ü¥¦/¥¹¥ê¥ó¥°)",
+       "~:¿å/ÍÏ´äή(¼ï¡¹¤Î¥¢¥¤¥Æ¥à)",
+#else
+       " :A dark grid",
+       "!:A potion (or oil)",
+       "\":An amulet (or necklace)",
+       "#:A wall (or secret door) / a plant / a gas",
+       "$:Treasure (gold or gems)",
+       "%:A vein (magma or quartz)",
+       "&:A chest",
+       "':An open door",
+       "(:Soft armor",
+       "):A shield",
+       "*:A vein with treasure or a ball monster",
+       "+:A closed door",
+       ",:Food (or mushroom patch)",
+       "-:A wand (or rod)",
+       ".:Floor",
+       "/:A polearm (Axe/Pike/etc)",
+       "0:Entrance to Museum",
+       "1:Entrance to General Store",
+       "2:Entrance to Armory",
+       "3:Entrance to Weaponsmith",
+       "4:Entrance to Temple",
+       "5:Entrance to Alchemy shop",
+       "6:Entrance to Magic store",
+       "7:Entrance to Black Market",
+       "8:Entrance to your home",
+       "9:Entrance to the bookstore",
+       "::Rubble",
+       ";:A glyph of warding / an explosive rune",
+       "<:An up staircase",
+       "=:A ring",
+       ">:A down staircase",
+       "?:A scroll",
+       "@:You",
+       "A:Angel",
+       "B:Bird",
+       "C:Canine",
+       "D:Ancient Dragon/Wyrm",
+       "E:Elemental",
+       "F:Dragon Fly",
+       "G:Ghost",
+       "H:Hybrid",
+       "I:Insect",
+       "J:Snake",
+       "K:Killer Beetle",
+       "L:Lich",
+       "M:Multi-Headed Reptile",
+       "N:Mystery Living",
+       "O:Ogre",
+       "P:Giant Humanoid",
+       "Q:Quylthulg (Pulsing Flesh Mound)",
+       "R:Reptile/Amphibian",
+       "S:Spider/Scorpion/Tick",
+       "T:Troll",
+       "U:Major Demon",
+       "V:Vampire",
+       "W:Wight/Wraith/etc",
+       "X:Xorn/Xaren/etc",
+       "Y:Yeti",
+       "Z:Zephyr Hound",
+       "[:Hard armor",
+       "\\:A hafted weapon (mace/whip/etc)",
+       "]:Misc. armor",
+       "^:A trap",
+       "_:A staff",
+       "`:A figurine or statue",
+       "a:Ant",
+       "b:Bat",
+       "c:Centipede",
+       "d:Dragon",
+       "e:Floating Eye",
+       "f:Feline",
+       "g:Golem",
+       "h:Hobbit/Elf/Dwarf",
+       "i:Icky Thing",
+       "j:Jelly",
+       "k:Kobold",
+       "l:Aquatic monster",
+       "m:Mold",
+       "n:Naga",
+       "o:Orc",
+       "p:Person/Human",
+       "q:Quadruped",
+       "r:Rodent",
+       "s:Skeleton",
+       "t:Townsperson",
+       "u:Minor Demon",
+       "v:Vortex",
+       "w:Worm/Worm-Mass",
+       /* "x:unused", */
+       "y:Yeek",
+       "z:Zombie/Mummy",
+       "{:A missile (arrow/bolt/shot)",
+       "|:An edged weapon (sword/dagger/etc)",
+       "}:A launcher (bow/crossbow/sling)",
+       "~:Fluid terrain (or miscellaneous item)",
+#endif
+
+       NULL
+};
+
+
+/*
+ * 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 */
+};