/* File: tables.c */

/* Purpose: Angband Tables */

/*
 * Copyright (c) 1989 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.
 */

#include "angband.h"




/*
 * Global array for looping through the "keypad directions"
 */
s16b ddd[9] =
{ 2, 8, 6, 4, 3, 1, 9, 7, 5 };

/*
 * Global arrays for converting "keypad direction" into offsets
 */
s16b ddx[10] =
{ 0, -1, 0, 1, -1, 0, 1, -1, 0, 1 };

s16b ddy[10] =
{ 0, 1, 1, 1, 0, 0, 0, -1, -1, -1 };

/*
 * Global arrays for optimizing "ddx[ddd[i]]" and "ddy[ddd[i]]"
 */
s16b ddx_ddd[9] =
{ 0, 0, 1, -1, 1, -1, 1, -1, 0 };

s16b ddy_ddd[9] =
{ 1, -1, 0, 0, 1, 1, -1, -1, 0 };


/*
 * Circular keypad direction array
 */
s16b cdd[8] =
{ 2, 3, 6, 9, 8, 7, 4, 1 };

/*
 * Global arrays for optimizing "ddx[cdd[i]]" and "ddy[cdd[i]]"
 */
s16b ddx_cdd[8] =
{ 0, 1, 1, 1, 0, -1, -1, -1 };

s16b ddy_cdd[8] =
{ 1, 1, 0, -1, -1, -1, 0, 1 };



/*
 * Global array for converting numbers to uppercase hecidecimal digit
 * This array can also be used to convert a number to an octal digit
 */
char hexsym[16] =
{
	'0', '1', '2', '3', '4', '5', '6', '7',
	'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
};


/*
 * Global array for converting numbers to a logical list symbol
 */
char listsym[] =
{
	'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', 'Y', 'Z',
	'\0'
};


/*
 * Encode the screen colors
 */
cptr color_char = "dwsorgbuDWvyRGBU";


/*
 * Stat Table (INT/WIS) -- Number of half-spells per level
 */
byte adj_mag_study[] =
{
	0	/* 3 */,
	0	/* 4 */,
	0	/* 5 */,
	0	/* 6 */,
	0	/* 7 */,
	1	/* 8 */,
	1	/* 9 */,
	1	/* 10 */,
	1	/* 11 */,
	2	/* 12 */,
	2	/* 13 */,
	2	/* 14 */,
	2	/* 15 */,
	2	/* 16 */,
	2	/* 17 */,
	2	/* 18/00-18/09 */,
	2	/* 18/10-18/19 */,
	2	/* 18/20-18/29 */,
	2	/* 18/30-18/39 */,
	2	/* 18/40-18/49 */,
	3	/* 18/50-18/59 */,
	3	/* 18/60-18/69 */,
	3	/* 18/70-18/79 */,
	3	/* 18/80-18/89 */,
	4	/* 18/90-18/99 */,
	4	/* 18/100-18/109 */,
	4	/* 18/110-18/119 */,
	5	/* 18/120-18/129 */,
	5	/* 18/130-18/139 */,
	5	/* 18/140-18/149 */,
	5	/* 18/150-18/159 */,
	5	/* 18/160-18/169 */,
	5	/* 18/170-18/179 */,
	5	/* 18/180-18/189 */,
	5	/* 18/190-18/199 */,
	5	/* 18/200-18/209 */,
	6	/* 18/210-18/219 */,
	6	/* 18/220+ */
};


/*
 * Stat Table (INT/WIS) -- extra half-mana-points per level
 */
byte adj_mag_mana[] =
{
	0       /* 3 */,
	0       /* 4 */,
	0       /* 5 */,
	0       /* 6 */,
	0       /* 7 */,
	1       /* 8 */,
	1       /* 9 */,
	2       /* 10 */,
	3       /* 11 */,
	4       /* 12 */,
	5       /* 13 */,
	6       /* 14 */,
	7       /* 15 */,
	8       /* 16 */,
	9       /* 17 */,
	10     /* 18/00-18/09 */,
	10      /* 18/10-18/19 */,
	11      /* 18/20-18/29 */,
	11     /* 18/30-18/39 */,
	12     /* 18/40-18/49 */,
	12      /* 18/50-18/59 */,
	13      /* 18/60-18/69 */,
	13      /* 18/70-18/79 */,
	14      /* 18/80-18/89 */,
	14      /* 18/90-18/99 */,
	15      /* 18/100-18/109 */,
	16      /* 18/110-18/119 */,
	17      /* 18/120-18/129 */,
	18      /* 18/130-18/139 */,
	19      /* 18/140-18/149 */,
	20      /* 18/150-18/159 */,
	21      /* 18/160-18/169 */,
	22      /* 18/170-18/179 */,
	23      /* 18/180-18/189 */,
	24      /* 18/190-18/199 */,
	25      /* 18/200-18/209 */,
	26      /* 18/210-18/219 */,
	27      /* 18/220+ */
};


/*
 * Stat Table (INT/WIS) -- Minimum failure rate (percentage)
 */
byte adj_mag_fail[] =
{
	99      /* 3 */,
	99      /* 4 */,
	99      /* 5 */,
	99      /* 6 */,
	99      /* 7 */,
	50      /* 8 */,
	30      /* 9 */,
	20      /* 10 */,
	15      /* 11 */,
	12      /* 12 */,
	11      /* 13 */,
	10      /* 14 */,
	9       /* 15 */,
	8       /* 16 */,
	7       /* 17 */,
	6       /* 18/00-18/09 */,
	6       /* 18/10-18/19 */,
	5       /* 18/20-18/29 */,
	5       /* 18/30-18/39 */,
	5       /* 18/40-18/49 */,
	4       /* 18/50-18/59 */,
	4       /* 18/60-18/69 */,
	4       /* 18/70-18/79 */,
	4       /* 18/80-18/89 */,
	3       /* 18/90-18/99 */,
	3       /* 18/100-18/109 */,
	2       /* 18/110-18/119 */,
	2       /* 18/120-18/129 */,
	2       /* 18/130-18/139 */,
	2       /* 18/140-18/149 */,
	1       /* 18/150-18/159 */,
	1       /* 18/160-18/169 */,
	1       /* 18/170-18/179 */,
	1       /* 18/180-18/189 */,
	1       /* 18/190-18/199 */,
	0       /* 18/200-18/209 */,
	0       /* 18/210-18/219 */,
	0       /* 18/220+ */
};


/*
 * Stat Table (INT/WIS) -- Various things
 */
byte adj_mag_stat[] =
{
	0       /* 3 */,
	0       /* 4 */,
	0       /* 5 */,
	0       /* 6 */,
	0       /* 7 */,
	1       /* 8 */,
	1       /* 9 */,
	1       /* 10 */,
	1       /* 11 */,
	1       /* 12 */,
	1       /* 13 */,
	1       /* 14 */,
	2       /* 15 */,
	2       /* 16 */,
	2       /* 17 */,
	3       /* 18/00-18/09 */,
	3       /* 18/10-18/19 */,
	3       /* 18/20-18/29 */,
	3       /* 18/30-18/39 */,
	3       /* 18/40-18/49 */,
	4       /* 18/50-18/59 */,
	4       /* 18/60-18/69 */,
	5       /* 18/70-18/79 */,
	6       /* 18/80-18/89 */,
	7       /* 18/90-18/99 */,
	8       /* 18/100-18/109 */,
	9       /* 18/110-18/119 */,
	10      /* 18/120-18/129 */,
	11      /* 18/130-18/139 */,
	12      /* 18/140-18/149 */,
	13      /* 18/150-18/159 */,
	14      /* 18/160-18/169 */,
	15      /* 18/170-18/179 */,
	16      /* 18/180-18/189 */,
	17      /* 18/190-18/199 */,
	18      /* 18/200-18/209 */,
	19      /* 18/210-18/219 */,
	20      /* 18/220+ */
};


/*
 * Stat Table (CHR) -- payment percentages
 */
byte adj_chr_gold[] =
{
	130     /* 3 */,
	125     /* 4 */,
	122     /* 5 */,
	120     /* 6 */,
	118     /* 7 */,
	116     /* 8 */,
	114     /* 9 */,
	112     /* 10 */,
	110     /* 11 */,
	108     /* 12 */,
	106     /* 13 */,
	104     /* 14 */,
	103     /* 15 */,
	102     /* 16 */,
	101     /* 17 */,
	100     /* 18/00-18/09 */,
	99      /* 18/10-18/19 */,
	98      /* 18/20-18/29 */,
	97      /* 18/30-18/39 */,
	96      /* 18/40-18/49 */,
	95      /* 18/50-18/59 */,
	94      /* 18/60-18/69 */,
	93      /* 18/70-18/79 */,
	92      /* 18/80-18/89 */,
	91      /* 18/90-18/99 */,
	90      /* 18/100-18/109 */,
	89      /* 18/110-18/119 */,
	88      /* 18/120-18/129 */,
	87      /* 18/130-18/139 */,
	86      /* 18/140-18/149 */,
	85      /* 18/150-18/159 */,
	84      /* 18/160-18/169 */,
	83      /* 18/170-18/179 */,
	82      /* 18/180-18/189 */,
	81      /* 18/190-18/199 */,
	80      /* 18/200-18/209 */,
	79      /* 18/210-18/219 */,
	78      /* 18/220+ */
};


/*
 * Stat Table (INT) -- Magic devices
 */
byte adj_int_dev[] =
{
	0       /* 3 */,
	0       /* 4 */,
	0       /* 5 */,
	0       /* 6 */,
	0       /* 7 */,
	1       /* 8 */,
	1       /* 9 */,
	1       /* 10 */,
	1       /* 11 */,
	1       /* 12 */,
	1       /* 13 */,
	1       /* 14 */,
	2       /* 15 */,
	2       /* 16 */,
	2       /* 17 */,
	3       /* 18/00-18/09 */,
	3       /* 18/10-18/19 */,
	4       /* 18/20-18/29 */,
	4       /* 18/30-18/39 */,
	5       /* 18/40-18/49 */,
	5       /* 18/50-18/59 */,
	6       /* 18/60-18/69 */,
	6       /* 18/70-18/79 */,
	7       /* 18/80-18/89 */,
	7       /* 18/90-18/99 */,
	8       /* 18/100-18/109 */,
	9       /* 18/110-18/119 */,
	10      /* 18/120-18/129 */,
	11      /* 18/130-18/139 */,
	12      /* 18/140-18/149 */,
	13      /* 18/150-18/159 */,
	14      /* 18/160-18/169 */,
	15      /* 18/170-18/179 */,
	16      /* 18/180-18/189 */,
	17      /* 18/190-18/199 */,
	18      /* 18/200-18/209 */,
	19      /* 18/210-18/219 */,
	20      /* 18/220+ */
};


/*
 * Stat Table (WIS) -- Saving throw
 */
byte adj_wis_sav[] =
{
	0       /* 3 */,
	0       /* 4 */,
	0       /* 5 */,
	0       /* 6 */,
	0       /* 7 */,
	1       /* 8 */,
	1       /* 9 */,
	1       /* 10 */,
	1       /* 11 */,
	1       /* 12 */,
	1       /* 13 */,
	1       /* 14 */,
	2       /* 15 */,
	2       /* 16 */,
	2       /* 17 */,
	3       /* 18/00-18/09 */,
	3       /* 18/10-18/19 */,
	3       /* 18/20-18/29 */,
	3       /* 18/30-18/39 */,
	3       /* 18/40-18/49 */,
	4       /* 18/50-18/59 */,
	4       /* 18/60-18/69 */,
	5       /* 18/70-18/79 */,
	5       /* 18/80-18/89 */,
	6       /* 18/90-18/99 */,
	7       /* 18/100-18/109 */,
	8       /* 18/110-18/119 */,
	9       /* 18/120-18/129 */,
	10      /* 18/130-18/139 */,
	11      /* 18/140-18/149 */,
	12      /* 18/150-18/159 */,
	13      /* 18/160-18/169 */,
	14      /* 18/170-18/179 */,
	15      /* 18/180-18/189 */,
	16      /* 18/190-18/199 */,
	17      /* 18/200-18/209 */,
	18      /* 18/210-18/219 */,
	19      /* 18/220+ */
};


/*
 * Stat Table (DEX) -- disarming
 */
byte adj_dex_dis[] =
{
	0       /* 3 */,
	0       /* 4 */,
	0       /* 5 */,
	0       /* 6 */,
	0       /* 7 */,
	0       /* 8 */,
	0       /* 9 */,
	0       /* 10 */,
	0       /* 11 */,
	0       /* 12 */,
	1       /* 13 */,
	1       /* 14 */,
	1       /* 15 */,
	2       /* 16 */,
	2       /* 17 */,
	4       /* 18/00-18/09 */,
	4       /* 18/10-18/19 */,
	4       /* 18/20-18/29 */,
	4       /* 18/30-18/39 */,
	5       /* 18/40-18/49 */,
	5       /* 18/50-18/59 */,
	5       /* 18/60-18/69 */,
	6       /* 18/70-18/79 */,
	6       /* 18/80-18/89 */,
	7       /* 18/90-18/99 */,
	8       /* 18/100-18/109 */,
	8       /* 18/110-18/119 */,
	8       /* 18/120-18/129 */,
	8       /* 18/130-18/139 */,
	8       /* 18/140-18/149 */,
	9       /* 18/150-18/159 */,
	9       /* 18/160-18/169 */,
	9       /* 18/170-18/179 */,
	9       /* 18/180-18/189 */,
	9       /* 18/190-18/199 */,
	10      /* 18/200-18/209 */,
	10      /* 18/210-18/219 */,
	10      /* 18/220+ */
};


/*
 * Stat Table (INT) -- disarming
 */
byte adj_int_dis[] =
{
	0       /* 3 */,
	0       /* 4 */,
	0       /* 5 */,
	0       /* 6 */,
	0       /* 7 */,
	1       /* 8 */,
	1       /* 9 */,
	1       /* 10 */,
	1       /* 11 */,
	1       /* 12 */,
	1       /* 13 */,
	1       /* 14 */,
	2       /* 15 */,
	2       /* 16 */,
	2       /* 17 */,
	3       /* 18/00-18/09 */,
	3       /* 18/10-18/19 */,
	3       /* 18/20-18/29 */,
	4       /* 18/30-18/39 */,
	4       /* 18/40-18/49 */,
	5       /* 18/50-18/59 */,
	6       /* 18/60-18/69 */,
	7       /* 18/70-18/79 */,
	8       /* 18/80-18/89 */,
	9       /* 18/90-18/99 */,
	10      /* 18/100-18/109 */,
	10      /* 18/110-18/119 */,
	11      /* 18/120-18/129 */,
	12      /* 18/130-18/139 */,
	13      /* 18/140-18/149 */,
	14      /* 18/150-18/159 */,
	15      /* 18/160-18/169 */,
	16      /* 18/170-18/179 */,
	17      /* 18/180-18/189 */,
	18      /* 18/190-18/199 */,
	19      /* 18/200-18/209 */,
	19      /* 18/210-18/219 */,
	20      /* 18/220+ */
};


/*
 * Stat Table (DEX) -- bonus to ac (plus 128)
 */
byte adj_dex_ta[] =
{
	128 + -4    /*  3 */,
	128 + -3    /*  4 */,
	128 + -2    /*  5 */,
	128 + -1    /*  6 */,
	128 + 0     /*  7 */,
	128 + 0     /*  8 */,
	128 + 0     /*  9 */,
	128 + 0     /* 10 */,
	128 + 0     /* 11 */,
	128 + 0     /* 12 */,
	128 + 0     /* 13 */,
	128 + 0     /* 14 */,
	128 + 1     /* 15 */,
	128 + 1     /* 16 */,
	128 + 1     /* 17 */,
	128 + 2     /* 18/00-18/09 */,
	128 + 2     /* 18/10-18/19 */,
	128 + 2     /* 18/20-18/29 */,
	128 + 2     /* 18/30-18/39 */,
	128 + 2     /* 18/40-18/49 */,
	128 + 3     /* 18/50-18/59 */,
	128 + 3     /* 18/60-18/69 */,
	128 + 3     /* 18/70-18/79 */,
	128 + 4     /* 18/80-18/89 */,
	128 + 5     /* 18/90-18/99 */,
	128 + 6     /* 18/100-18/109 */,
	128 + 7     /* 18/110-18/119 */,
	128 + 8     /* 18/120-18/129 */,
	128 + 9     /* 18/130-18/139 */,
	128 + 9     /* 18/140-18/149 */,
	128 + 10    /* 18/150-18/159 */,
	128 + 11    /* 18/160-18/169 */,
	128 + 12    /* 18/170-18/179 */,
	128 + 13    /* 18/180-18/189 */,
	128 + 14    /* 18/190-18/199 */,
	128 + 15    /* 18/200-18/209 */,
	128 + 15    /* 18/210-18/219 */,
	128 + 16    /* 18/220+ */
};


/*
 * Stat Table (STR) -- bonus to Deadliness (plus 128).  To compensate
 * for changes elsewhere, STR now has a larger effect. -LM-
 */
byte adj_str_td[] =
{
	128 + -2	/* 3 */,
	128 + -2	/* 4 */,
	128 + -1	/* 5 */,
	128 + -1	/* 6 */,
	128 + 0	/* 7 */,
	128 + 0	/* 8 */,
	128 + 0	/* 9 */,
	128 + 0	/* 10 */,
	128 + 0	/* 11 */,
	128 + 0	/* 12 */,
	128 + 0	/* 13 */,
	128 + 0	/* 14 */,
	128 + 0	/* 15 */,
	128 + 1	/* 16 */,
	128 + 2	/* 17 */,
	128 + 3	/* 18/00-18/09 */,
	128 + 4	/* 18/10-18/19 */,
	128 + 4	/* 18/20-18/29 */,
	128 + 5	/* 18/30-18/39 */,
	128 + 6	/* 18/40-18/49 */,
	128 + 7	/* 18/50-18/59 */,
	128 + 8	/* 18/60-18/69 */,
	128 + 9	/* 18/70-18/79 */,
	128 + 10	/* 18/80-18/89 */,
	128 + 11	/* 18/90-18/99 */,
	128 + 12	/* 18/100-18/109 */,
	128 + 13	/* 18/110-18/119 */,
	128 + 14	/* 18/120-18/129 */,
	128 + 15	/* 18/130-18/139 */,
	128 + 16	/* 18/140-18/149 */,
	128 + 17	/* 18/150-18/159 */,
	128 + 18	/* 18/160-18/169 */,
	128 + 19	/* 18/170-18/179 */,
	128 + 20	/* 18/180-18/189 */,
	128 + 21	/* 18/190-18/199 */,
	128 + 22	/* 18/200-18/209 */,
	128 + 23	/* 18/210-18/219 */,
	128 + 25	/* 18/220+ */
};


/*
 * Stat Table (DEX) -- bonus to Skill (plus 128.  To compensate for
 * changes elsewhere, DEX now has a larger effect. -LM-
 */
byte adj_dex_th[] =
{
	128 + -4	/* 3 */,
	128 + -3	/* 4 */,
	128 + -2	/* 5 */,
	128 + -1	/* 6 */,
	128 + -1	/* 7 */,
	128 + 0	/* 8 */,
	128 + 0	/* 9 */,
	128 + 0	/* 10 */,
	128 + 0	/* 11 */,
	128 + 0	/* 12 */,
	128 + 0	/* 13 */,
	128 + 0	/* 14 */,
	128 + 1	/* 15 */,
	128 + 2	/* 16 */,
	128 + 3	/* 17 */,
	128 + 3	/* 18/00-18/09 */,
	128 + 3	/* 18/10-18/19 */,
	128 + 4	/* 18/20-18/29 */,
	128 + 4	/* 18/30-18/39 */,
	128 + 4	/* 18/40-18/49 */,
	128 + 5	/* 18/50-18/59 */,
	128 + 5	/* 18/60-18/69 */,
	128 + 6	/* 18/70-18/79 */,
	128 + 6	/* 18/80-18/89 */,
	128 + 7	/* 18/90-18/99 */,
	128 + 8	/* 18/100-18/109 */,
	128 + 9	/* 18/110-18/119 */,
	128 + 10	/* 18/120-18/129 */,
	128 + 11	/* 18/130-18/139 */,
	128 + 12	/* 18/140-18/149 */,
	128 + 13	/* 18/150-18/159 */,
	128 + 14	/* 18/160-18/169 */,
	128 + 15	/* 18/170-18/179 */,
	128 + 16	/* 18/180-18/189 */,
	128 + 17	/* 18/190-18/199 */,
	128 + 18	/* 18/200-18/209 */,
	128 + 19	/* 18/210-18/219 */,
	128 + 20	/* 18/220+ */
};



/*
 * Stat Table (STR) -- weight limit in deca-pounds
 */
byte adj_str_wgt[] =
{
	5       /* 3 */,
	6       /* 4 */,
	7       /* 5 */,
	8       /* 6 */,
	9       /* 7 */,
	10      /* 8 */,
	11      /* 9 */,
	12      /* 10 */,
	13      /* 11 */,
	14      /* 12 */,
	15      /* 13 */,
	16      /* 14 */,
	17      /* 15 */,
	18      /* 16 */,
	19      /* 17 */,
	20      /* 18/00-18/09 */,
	22      /* 18/10-18/19 */,
	24      /* 18/20-18/29 */,
	26      /* 18/30-18/39 */,
	28      /* 18/40-18/49 */,
	30      /* 18/50-18/59 */,
	31      /* 18/60-18/69 */,
	31      /* 18/70-18/79 */,
	32      /* 18/80-18/89 */,
	32      /* 18/90-18/99 */,
	33      /* 18/100-18/109 */,
	33      /* 18/110-18/119 */,
	34      /* 18/120-18/129 */,
	34      /* 18/130-18/139 */,
	35      /* 18/140-18/149 */,
	35      /* 18/150-18/159 */,
	36      /* 18/160-18/169 */,
	36      /* 18/170-18/179 */,
	37      /* 18/180-18/189 */,
	37      /* 18/190-18/199 */,
	38      /* 18/200-18/209 */,
	38      /* 18/210-18/219 */,
	39      /* 18/220+ */
};


/*
 * Stat Table (STR) -- weapon weight limit in pounds
 */
byte adj_str_hold[] =
{
	4       /* 3 */,
	5       /* 4 */,
	6       /* 5 */,
	7       /* 6 */,
	8       /* 7 */,
	10      /* 8 */,
	12      /* 9 */,
	14      /* 10 */,
	16      /* 11 */,
	18      /* 12 */,
	20      /* 13 */,
	22      /* 14 */,
	24      /* 15 */,
	26      /* 16 */,
	28      /* 17 */,
	30      /* 18/00-18/09 */,
	30      /* 18/10-18/19 */,
	35      /* 18/20-18/29 */,
	40      /* 18/30-18/39 */,
	45      /* 18/40-18/49 */,
	50      /* 18/50-18/59 */,
	55      /* 18/60-18/69 */,
	60      /* 18/70-18/79 */,
	65      /* 18/80-18/89 */,
	70      /* 18/90-18/99 */,
	80      /* 18/100-18/109 */,
	80      /* 18/110-18/119 */,
	80      /* 18/120-18/129 */,
	80      /* 18/130-18/139 */,
	80      /* 18/140-18/149 */,
	90      /* 18/150-18/159 */,
	90      /* 18/160-18/169 */,
	90      /* 18/170-18/179 */,
	90      /* 18/180-18/189 */,
	90      /* 18/190-18/199 */,
	100     /* 18/200-18/209 */,
	100     /* 18/210-18/219 */,
	100     /* 18/220+ */
};


/*
 * Stat Table (STR) -- digging value
 */
byte adj_str_dig[] =
{
	0       /* 3 */,
	0       /* 4 */,
	1       /* 5 */,
	2       /* 6 */,
	3       /* 7 */,
	4       /* 8 */,
	4       /* 9 */,
	5       /* 10 */,
	5       /* 11 */,
	6       /* 12 */,
	6       /* 13 */,
	7       /* 14 */,
	7       /* 15 */,
	8       /* 16 */,
	8       /* 17 */,
	9       /* 18/00-18/09 */,
	10      /* 18/10-18/19 */,
	12      /* 18/20-18/29 */,
	15      /* 18/30-18/39 */,
	20      /* 18/40-18/49 */,
	25      /* 18/50-18/59 */,
	30      /* 18/60-18/69 */,
	35      /* 18/70-18/79 */,
	40      /* 18/80-18/89 */,
	45      /* 18/90-18/99 */,
	50      /* 18/100-18/109 */,
	55      /* 18/110-18/119 */,
	60      /* 18/120-18/129 */,
	65      /* 18/130-18/139 */,
	70      /* 18/140-18/149 */,
	75      /* 18/150-18/159 */,
	80      /* 18/160-18/169 */,
	85      /* 18/170-18/179 */,
	90      /* 18/180-18/189 */,
	95      /* 18/190-18/199 */,
	100     /* 18/200-18/209 */,
	100     /* 18/210-18/219 */,
	100     /* 18/220+ */
};


/*
 * Stat Table (STR) -- help index into the "blow" table
 */
byte adj_str_blow[] =
{
	3       /* 3 */,
	4       /* 4 */,
	5       /* 5 */,
	6       /* 6 */,
	7       /* 7 */,
	8       /* 8 */,
	9       /* 9 */,
	10      /* 10 */,
	11      /* 11 */,
	12      /* 12 */,
	13      /* 13 */,
	14      /* 14 */,
	15      /* 15 */,
	16      /* 16 */,
	17      /* 17 */,
	20 /* 18/00-18/09 */,
	30 /* 18/10-18/19 */,
	40 /* 18/20-18/29 */,
	50 /* 18/30-18/39 */,
	60 /* 18/40-18/49 */,
	70 /* 18/50-18/59 */,
	80 /* 18/60-18/69 */,
	90 /* 18/70-18/79 */,
	100 /* 18/80-18/89 */,
	110 /* 18/90-18/99 */,
	120 /* 18/100-18/109 */,
	130 /* 18/110-18/119 */,
	140 /* 18/120-18/129 */,
	150 /* 18/130-18/139 */,
	160 /* 18/140-18/149 */,
	170 /* 18/150-18/159 */,
	180 /* 18/160-18/169 */,
	190 /* 18/170-18/179 */,
	200 /* 18/180-18/189 */,
	210 /* 18/190-18/199 */,
	220 /* 18/200-18/209 */,
	230 /* 18/210-18/219 */,
	240 /* 18/220+ */
};


/*
 * Stat Table (DEX) -- index into the "blow" table
 */
byte adj_dex_blow[] =
{
	0       /* 3 */,
	0       /* 4 */,
	0       /* 5 */,
	0       /* 6 */,
	0       /* 7 */,
	0       /* 8 */,
	0       /* 9 */,
	1       /* 10 */,
	1       /* 11 */,
	1       /* 12 */,
	1       /* 13 */,
	1       /* 14 */,
	2       /* 15 */,
	2       /* 16 */,
	2       /* 17 */,
	2       /* 18/00-18/09 */,
	3       /* 18/10-18/19 */,
	3       /* 18/20-18/29 */,
	3       /* 18/30-18/39 */,
	4       /* 18/40-18/49 */,
	4       /* 18/50-18/59 */,
	5       /* 18/60-18/69 */,
	5       /* 18/70-18/79 */,
	6       /* 18/80-18/89 */,
	6       /* 18/90-18/99 */,
	7       /* 18/100-18/109 */,
	7       /* 18/110-18/119 */,
	8       /* 18/120-18/129 */,
	8       /* 18/130-18/139 */,
	9      /* 18/140-18/149 */,
	9      /* 18/150-18/159 */,
	10      /* 18/160-18/169 */,
	10      /* 18/170-18/179 */,
	11      /* 18/180-18/189 */,
	11      /* 18/190-18/199 */,
	12      /* 18/200-18/209 */,
	12      /* 18/210-18/219 */,
	13      /* 18/220+ */
};


/*
 * Stat Table (DEX) -- chance of avoiding "theft" and "falling"
 */
byte adj_dex_safe[] =
{
	0       /* 3 */,
	1       /* 4 */,
	2       /* 5 */,
	3       /* 6 */,
	4       /* 7 */,
	5       /* 8 */,
	5       /* 9 */,
	6       /* 10 */,
	6       /* 11 */,
	7       /* 12 */,
	7       /* 13 */,
	8       /* 14 */,
	8       /* 15 */,
	9       /* 16 */,
	9       /* 17 */,
	10      /* 18/00-18/09 */,
	10      /* 18/10-18/19 */,
	15      /* 18/20-18/29 */,
	15      /* 18/30-18/39 */,
	20      /* 18/40-18/49 */,
	25      /* 18/50-18/59 */,
	30      /* 18/60-18/69 */,
	35      /* 18/70-18/79 */,
	40      /* 18/80-18/89 */,
	45      /* 18/90-18/99 */,
	50      /* 18/100-18/109 */,
	60      /* 18/110-18/119 */,
	70      /* 18/120-18/129 */,
	80      /* 18/130-18/139 */,
	90      /* 18/140-18/149 */,
	100     /* 18/150-18/159 */,
	100     /* 18/160-18/169 */,
	100     /* 18/170-18/179 */,
	100     /* 18/180-18/189 */,
	100     /* 18/190-18/199 */,
	100     /* 18/200-18/209 */,
	100     /* 18/210-18/219 */,
	100     /* 18/220+ */
};


/*
 * Stat Table (CON) -- base regeneration rate
 */
byte adj_con_fix[] =
{
	0       /* 3 */,
	0       /* 4 */,
	0       /* 5 */,
	0       /* 6 */,
	0       /* 7 */,
	0       /* 8 */,
	0       /* 9 */,
	0       /* 10 */,
	0       /* 11 */,
	0       /* 12 */,
	0       /* 13 */,
	1       /* 14 */,
	1       /* 15 */,
	1       /* 16 */,
	1       /* 17 */,
	2       /* 18/00-18/09 */,
	2       /* 18/10-18/19 */,
	2       /* 18/20-18/29 */,
	2       /* 18/30-18/39 */,
	2       /* 18/40-18/49 */,
	3       /* 18/50-18/59 */,
	3       /* 18/60-18/69 */,
	3       /* 18/70-18/79 */,
	3       /* 18/80-18/89 */,
	3       /* 18/90-18/99 */,
	4       /* 18/100-18/109 */,
	4       /* 18/110-18/119 */,
	5       /* 18/120-18/129 */,
	6       /* 18/130-18/139 */,
	6       /* 18/140-18/149 */,
	7       /* 18/150-18/159 */,
	7       /* 18/160-18/169 */,
	8       /* 18/170-18/179 */,
	8       /* 18/180-18/189 */,
	8       /* 18/190-18/199 */,
	9       /* 18/200-18/209 */,
	9       /* 18/210-18/219 */,
	9       /* 18/220+ */
};


/*
 * Stat Table (CON) -- extra half-hitpoints per level (plus 128).
 * Because monsters don't breath as powerfully now, I have reduced the
 * effect of this stat. -LM-
 */
byte adj_con_mhp[] =
{
	128 + -5 /* 3 */,
	128 + -3 /* 4 */,
	128 + -2 /* 5 */,
	128 + -1 /* 6 */,
	128 + 0  /* 7 */,
	128 + 0  /* 8 */,
	128 + 0  /* 9 */,
	128 + 0  /* 10 */,
	128 + 0  /* 11 */,
	128 + 0  /* 12 */,
	128 + 0  /* 13 */,
	128 + 1  /* 14 */,
	128 + 1  /* 15 */,
	128 + 2  /* 16 */,
	128 + 3  /* 17 */,
	128 + 4  /* 18/00-18/09 */,
	128 + 5  /* 18/10-18/19 */,
	128 + 6  /* 18/20-18/29 */,
	128 + 7  /* 18/30-18/39 */,
	128 + 8  /* 18/40-18/49 */,
	128 + 9  /* 18/50-18/59 */,
	128 + 10 /* 18/60-18/69 */,
	128 + 11 /* 18/70-18/79 */,
	128 + 12 /* 18/80-18/89 */,
	128 + 14 /* 18/90-18/99 */,
	128 + 17 /* 18/100-18/109 */,
	128 + 20 /* 18/110-18/119 */,
	128 + 23 /* 18/120-18/129 */,
	128 + 26 /* 18/130-18/139 */,
	128 + 29 /* 18/140-18/149 */,
	128 + 32 /* 18/150-18/159 */,
	128 + 35 /* 18/160-18/169 */,
	128 + 38 /* 18/170-18/179 */,
	128 + 40 /* 18/180-18/189 */,
	128 + 42 /* 18/190-18/199 */,
	128 + 44 /* 18/200-18/209 */,
	128 + 46 /* 18/210-18/219 */,
	128 + 48 /* 18/220+ */
};


/*
 * This table is used to help calculate the number of blows the player can
 * make in a single round of attacks (one player turn) with a normal weapon.
 *
 * This number ranges from a single blow/round for weak players to up to six
 * blows/round for powerful warriors.
 *
 * Note that certain artifacts and ego-items give "bonus" blows/round.
 *
 * First, from the player class, we extract some values:
 *
 * Warrior      --> num = 5; mul =   5; div = MAX(30, weapon_weight);
 * Mage         --> num = 2; mul =   2; div = MAX(40, weapon_weight);
 * Priest       --> num = 4; mul =   3; div = MAX(35, weapon_weight);
 * Ranger       --> num = 4; mul = 3.5; div = MAX(35, weapon_weight);
 * Paladin      --> num = 4; mul = 4.5; div = MAX(30, weapon_weight);
 * Warrior-Mage --> num = 4; mul =   4; div = MAX(30, weapon_weight);
 * Mindcrafter  --> num = 4; mul =   3; div = MAX(30, weapon_weight);
 * Archer       --> num = 3; mul =   3; div = MAX(30, weapon_weight);
 *
 * To get "P", we look up the relevant "adj_str_blow[]" (see above),
 * multiply it by "mul", and then divide it by "div", rounding down.
 *
 * To get "D", we look up the relevant "adj_dex_blow[]" (see above),
 * note especially column 6 (DEX 18/101) and 11 (DEX 18/150).
 *
 * The player gets "blows_table[P][D]" blows/round, as shown below,
 * up to a maximum of "num" blows/round, plus any "bonus" blows/round.
 */
byte blows_table[12][12] =
{
	/* P/D */
	/*      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11+ */
	/*      3   10   15  /10  /40  /60  /80 /100 /120 /140 /160 /180  */
/* 0 */{	1,   1,   1,   2,   2,   2,   2,   2,   3,   3,   3,   4 },
/* 1 */{	1,   1,   2,   2,   2,   3,   3,   3,   3,   4,   4,   4 },
/* 2 */{	1,   2,   2,   2,   3,   3,   4,   4,   4,   5,   5,   5 },
/* 3 */{	1,   2,   2,   3,   3,   4,   4,   4,   5,   5,   5,   5 },
/* 4 */{	1,   2,   2,   3,   3,   4,   4,   5,   5,   5,   5,   5 },
/* 5 */{	1,   2,   3,   3,   4,   4,   4,   5,   5,   5,   5,   6 },
/* 6 */{	2,   2,   3,   3,   4,   4,   4,   5,   5,   5,   5,   6 },
/* 7 */{	2,   2,   3,   3,   4,   4,   4,   5,   5,   5,   5,   6 },
/* 8 */{	2,   2,   3,   3,   4,   4,   4,   5,   5,   5,   6,   6 },
/* 9 */{	2,   3,   3,   4,   4,   4,   5,   5,   5,   5,   6,   6 },
/* 10*/{	2,   3,   3,   4,   4,   4,   5,   5,   5,   6,   6,   6 },
/*11+*/{	2,   3,   3,   4,   4,   4,   5,   5,   6,   6,   6,   6 },
};


s16b arena_monsters[MAX_ARENA_MONS] =
{
	 30,	 43,	102,	118,	126,	149,	173,
	183,	188,	191,	216,	230,	238,	244,
	255,	262,	293,	297,	321,	349,	372,
	401,	415,	454,	464,	485,	538,	631,
	641
};



/*
 * Store owners (exactly four "possible" owners per store, chosen randomly)
 * { name, purse, max greed, min greed, haggle_per, tolerance, race, unused }
 *
 * Lifted extra shopkeepers from CthAngband (don't you just love open source
 * development? ;-)). Since this gave less than 32 unique names for some
 * shops, those have their first x names copied to reach 32.
 *
 * For the weapon and armour shops, several owners have a limit of 5k.
 *
 * I want to do 50k owners, but the purse is currently s16b. Perhaps
 * we should just store 1/10th of the purse?
 */
owner_type owners[MAX_STORES][MAX_OWNERS] =
{
	{
		/* General store - 32 unique names */
		{ 200, 108, _("フレンドリーなビルボ", "Bilbo the Friendly") },
		{ 200, 108, _("憶病者ラストリン", "Raistlin the Chicken") },
		{ 300, 107, _("背の低いサルタン", "Sultan the Midget") },
		{ 300, 107, _("ハンサムなライア=エル", "Lyar-el the Comely") },
		{ 250, 108, _("親切なファリルマウエン", "Falilmawen the Friendly") },
		{ 500, 108, _("臆病者ヴォワラン", "Voirin the Cowardly") },
		{ 750, 107, _("チビのエラシュナク", "Erashnak the Midget") },
		{ 1000, 107, _("ハンサムなグラッグ", "Grug the Comely") },
		{ 250, 108, _("ケチなフォロビア", "Forovir the Cheap") },
		{ 500, 108, _("馬鹿のエリス", "Ellis the Fool") },
		{ 750, 107, _("腹ペコのフィルバート", "Filbert the Hungry") },
		{ 1000, 107, _("スナーグル・サシグア", "Fthnargl Psathiggua") },
		{ 250, 108, _("長死きエロワーズ", "Eloise Long-Dead") },
		{ 500, 108, _("ノロマのフンディ", "Fundi the Slow") },
		{ 750, 107, _("グランサス", "Granthus") },
		{ 1000, 107, _("丁寧なロラックス", "Lorax the Suave") },
		{ 250, 108, _("ブッチ", "Butch") },
		{ 500, 108, _("美しきエルベレス", "Elbereth the Beautiful") },
		{ 750, 107, _("こそこそサーレス", "Sarleth the Sneaky") },
		{ 1000, 107, _("ナーロック", "Narlock") },
		{ 250, 108, _("チビのヘイネッカ", "Haneka the Small") },
		{ 500, 108, _("きちがいロワラン", "Loirin the Mad") },
		{ 750, 107, _("毒息のウート", "Wuto Poisonbreath") },
		{ 1000, 107, _("でぶっちょアラァカ", "Araaka the Rotund") },
		{ 250, 108, _("低能なプーゴー", "Poogor the Dumb") },
		{ 500, 108, _("フェロールフィリアン", "Felorfiliand") },
		{ 750, 107, _("年寄りマロカ", "Maroka the Aged") },
		{ 1000, 107, _(" 勇敢なサシン", "Sasin the Bold") },
		{ 250, 108, _("田舎者アビエマール", "Abiemar the Peasant") },
		{ 500, 108, _("貧乏なハーク", "Hurk the Poor") },
		{ 750, 107, _("みじめなソアリン", "Soalin the Wretched") },
		{ 1000, 107, _("質素なメルラ", "Merulla the Humble") },
	},
	{
		/* Armoury - 28 unique names */
		{ 10000, 115, _("醜悪コン=ダー", "Kon-Dar the Ugly") },
		{ 10000, 111, _("頑固者ダーグ=ロウ", "Darg-Low the Grim") },
		{ 25000, 112, _("賢者デカド", "Decado the Handsome") },
		{ 30000, 112, _("鍛冶屋のウィーランド", "Wieland the Smith") },
		{ 10000, 115, _("醜悪コン=ダー", "Kon-Dar the Ugly") },
		{ 15000, 111, _("頑固者ダーグ=ロウ", "Darg-Low the Grim") },
		{ 25000, 112, _("ハンサムなデカド", "Decado the Handsome") },
		{ 30000, 112, _("エロー・ドラゴンスケイル", "Elo Dragonscale") },
		{ 10000, 115, _("デリカトス", "Delicatus") },
		{ 15000, 111, _("巨大なグルース", "Gruce the Huge") },
		{ 25000, 112, _("アニムス", "Animus") },
		{ 30000, 112, _("マルヴァス", "Malvus") },
		{ 10000, 115, _("セラクシス", "Selaxis") },
		{ 10000, 111, _("デス・チル", "Deathchill") },
		{ 25000, 112, _("微かなドリオス", "Drios the Faint") },
		{ 30000, 112, _("冷たいバスリック", "Bathric the Cold") },
		{ 10000, 115, _("冷酷ヴェンジェラ", "Vengella the Cruel") },
		{ 15000, 111, _("強者ウィラナ", "Wyrana the Mighty") },
		{ 25000, 112, _("ヨジョ二世", "Yojo II") },
		{ 30000, 112, _("優しいラナラー", "Ranalar the Sweet") },
		{ 5000, 115, _("不浄のホルバグ", "Horbag the Unclean") },
		{ 15000, 111, _("テレパスのエレレン", "Elelen the Telepath") },
		{ 25000, 112, _("イスドリリアス", "Isedrelias") },
		{ 10000, 112, _("一つ目ヴェグナー", "Vegnar One-eye") },
		{ 10000, 115, _("混沌のロディッシュ", "Rodish the Chaotic") },
		{ 15000, 111, _("剣豪ヘジン", "Hesin Swordmaster") },
		{ 10000, 112, _("ずる屋のエルベレリス", "Elvererith the Cheat") },
		{ 30000, 112, _("インプのザサス", "Zzathath the Imp") },
		{ 10000, 115, _("醜悪コン=ダー", "Kon-Dar the Ugly") },
		{ 10000, 111, _("頑固者ダーグ=ロウ", "Darg-Low the Grim") },
		{ 25000, 112, _("ハンサムなデカド", "Decado the Handsome") },
		{ 30000, 112, _("鍛冶屋のウィーランド", "Wieland the Smith") },
	},
	{
		/* Weapon Smith - 28 unique names */
		{ 10000, 115, _("残忍なるアーノルド", "Arnold the Beastly") },
		{ 10000, 110, _("獣殺しのアーンダル", "Arndal Beast-Slayer") },
		{ 25000, 115, _("獣マスターのエディー", "Eddie Beast-Master") },
		{ 30000, 112, _("竜殺しのオグライン", "Oglign Dragon-Slayer") },
		{ 10000, 115, _("熟練者ドリュー", "Drew the Skilled") },
		{ 15000, 110, _("龍の子オラックス", "Orrax Dragonson") },
		{ 25000, 115, _("病気持ちのアンスラックス", "Anthrax Disease-Carrier") },
		{ 30000, 112, _("頑丈者アルコス", "Arkhoth the Stout") },
		{ 10000, 115, _("腐れ者のサリアス", "Sarlyas the Rotten") },
		{ 15000, 110, _("晒し骨のトゥエシク", "Tuethic Bare-Bones") },
		{ 25000, 115, _("ビリオス", "Bilious") },
		{ 30000, 112, _("ファスガル", "Fasgul") },
		{ 10000, 115, _("パラディンのエレフリス", "Ellefris the Paladin") },
		{ 15000, 110, _("キ'トリッ'ク", "K'trrik'k") },
		{ 25000, 115, _("蜘蛛の友ドゥロカス", "Drocus Spiderfriend") },
		{ 30000, 112, _("巨人殺しのフングス", "Fungus Giant-Slayer") },
		{ 10000, 115, _("デランサ", "Delantha") },
		{ 15000, 110, _("レンジャーのソルビスタニ", "Solvistani the Ranger") },
		{ 25000, 115, _("ノロマのゾリル", "Xoril the Slow") },
		{ 20000, 112, _("イーオン・フラックス", "Aeon Flux") },
		{ 10000, 115, _("強者ナドック", "Nadoc the Strong") },
		{ 15000, 110, _("弱虫エラモグ", "Eramog the Weak") },
		{ 25000, 115, _("公正なエオウィリス", "Eowilith the Fair") },
		{ 30000, 112, _("バルログ殺しのヒュイモグ", "Huimog Balrog-Slayer") },
		{ 10000, 115, _("冷酷ピーダス", "Peadus the Cruel") },
		{ 15000, 110, _("ヴァモグ スレイヤー", "Vamog Slayer") },
		{ 25000, 115, _("性悪フーシュナク", "Hooshnak the Vicious") },
		{ 30000, 112, _("舞闘バレン", "Balenn War-Dancer") },
		{ 10000, 115, _(" 残忍なるアーノルド", "Arnold the Beastly") },
		{ 10000, 110, _("獣殺しのアーンダル", "Arndal Beast-Slayer") },
		{ 25000, 115, _("ビーストマスター・エディー", "Eddie Beast-Master") },
		{ 30000, 112, _("竜殺しのオグライン", "Oglign Dragon-Slayer") },
	},
	{
		/* Temple - 22 unique names */
		{ 10000, 109, _("質素なルードヴィヒ", "Ludwig the Humble") },
		{ 10000, 110, _("パラディンのガンナー", "Gunnar the Paladin") },
		{ 25000, 107, _("選ばれしトリン", "Torin the Chosen") },
		{ 30000, 109, _("賢明なるサラストロ", "Sarastro the Wise") },
		{ 25000, 107, _("パーシヴァル卿", "Sir Parsival the Pure") },
		{ 30000, 109, _("神聖なるアセナス", "Asenath the Holy") },
		{ 10000, 109, _("マッキノン", "McKinnon") },
		{ 15000, 110, _("謹み婦人", "Mistress Chastity") },
		{ 25000, 107, _("ドルイドのハシュニック", "Hashnik the Druid") },
		{ 30000, 109, _("フィナク", "Finak") },
		{ 10000, 109, _("クリキック", "Krikkik") },
		{ 15000, 110, _("荒くれ者モリヴァル", "Morival the Wild") },
		{ 25000, 107, _("暗きホシャック", "Hoshak the Dark") },
		{ 30000, 109, _("賢者アタール", "Atal the Wise") },
		{ 10000, 109, _("清きイベニッド", "Ibenidd the Chaste") },
		{ 15000, 110, _("エリディシュ", "Eridish") },
		{ 25000, 107, _("呪術師ヴルドゥシュ", "Vrudush the Shaman") },
		{ 30000, 109, _("狂戦士ハオブ", "Haob the Berserker") },
		{ 10000, 109, _("若きプルーグディシュ", "Proogdish the Youthfull") },
		{ 15000, 110, _("きちがいラムワイズ", "Lumwise the Mad") },
		{ 25000, 107, _("有徳者ムワート", "Muirt the Virtuous") },
		{ 30000, 109, _("弱虫ダードバード", "Dardobard the Weak") },
		{ 5000, 109, _("質素なルードヴィヒ", "Ludwig the Humble") },
		{ 10000, 110, _("パラディンのガンナー", "Gunnar the Paladin") },
		{ 25000, 107, _("選ばれしトリン", "Torin the Chosen") },
		{ 30000, 109, _("賢明なるサラストロ", "Sarastro the Wise") },
		{ 25000, 107, _("清きパーシヴァル卿", "Sir Parsival the Pure") },
		{ 30000, 109, _("神聖なるアセナス", "Asenath the Holy") },
		{ 10000, 109, _("マッキノン", "McKinnon") },
		{ 15000, 110, _("謹み婦人", "Mistress Chastity") },
		{ 25000, 107, _("ドルイド ハシュニック", "Hashnik the Druid") },
		{ 15000, 110, _("フィナク", "Finak") },
	},
	{
		/* Alchemist - 26 unique names */
		{ 10000, 111, _("化学者マウザー", "Mauser the Chemist") },
		{ 10000, 110, _("カオスのウィズル", "Wizzle the Chaotic") },
		{ 15000, 116, _("強欲ミダス", "Midas the Greedy") },
		{ 15000, 111, _("貧弱ジャ=ファー", "Ja-Far the Alchemist") },/*FIRST*/
		{ 15000, 116, _("カカルラカカル", "Kakalrakakal") },
		{ 15000, 111, _("錬金術師ジャル=エス", "Jal-Eth the Alchemist") },
		{ 10000, 111, _("用心深いファネラス", "Fanelath the Cautious") },
		{ 10000, 110, _("キチガイのルンシー", "Runcie the Insane") },
		{ 15000, 116, _("グランブルワース", "Grumbleworth") },
		{ 15000, 111, _("フリッター", "Flitter") },
		{ 10000, 111, _("ザリルス", "Xarillus") },
		{ 10000, 110, _("古きエグバート", "Egbert the Old") },
		{ 15000, 116, _("誇り高きヴァリンドラ", "Valindra the Proud") },
		{ 15000, 111, _("錬金術師タエン", "Taen the Alchemist") },
		{ 10000, 111, _("巧言カイド", "Cayd the Sweet") },
		{ 10000, 110, _("暗きフリア", "Fulir the Dark") },
		{ 15000, 116, _("質素なドムリ", "Domli the Humble") },
		{ 15000, 111, _("魔の子ヤァジュッカ", "Yaarjukka Demonspawn") },
		{ 10000, 111, _("薬草師ジェララルドール", "Gelaraldor the Herbmaster") },
		{ 10000, 110, _("賢者オレラルダン", "Olelaldan the Wise") },
		{ 15000, 116, _("デモニシストのフゾグロ", "Fthoglo the Demonicist") },
		{ 15000, 111, _("錬金術師ドゥリアシュ", "Dridash the Alchemist") },
		{ 10000, 111, _("強者ネリア", "Nelir the Strong") },
		{ 10000, 110, _("辛口リグナス", "Lignus the Pungent") },
		{ 15000, 116, _("ティルバ", "Tilba") },
		{ 15000, 111, _("金持ちミリルドリック", "Myrildric the Wealthy") },
		{ 10000, 111, _("科学者マウザー", "Mauser the Chemist") },
		{ 10000, 110, _("カオスのウィズル", "Wizzle the Chaotic") },
		{ 15000, 116, _("強欲ミダス", "Midas the Greedy") },
		{ 15000, 111, _("錬金術師ジャ=ファー", "Ja-Far the Alchemist") },
		{ 15000, 116, _("カカルラカカル", "Kakalrakakal") },
		{ 15000, 111, _("錬金術師ジャル=エス", "Jal-Eth the Alchemist") },
	},
	{
		/* Magic Shop - 23 unique names */
		{ 20000, 110, _("ソーサラーのロ=パン", "Lo Pan the Sorcerer") },
		{ 20000, 113, _("偉大なるブガービイ", "Buggerby the Great") },
		{ 30000, 110, _("イェンダーの魔法使い", "The Wizard of Yendor") },
		{ 30000, 110, _("死霊使いルャック", "Rjak the Necromancer") },
		{ 15000, 110, _("魔術師スキドゥニー", "Skidney the Sorcerer") },
		{ 30000, 110, _("幻術師キリア", "Kyria the Illusionist") },
		{ 30000, 110, _("死霊術師ニッキ", "Nikki the Necromancer") },
		{ 15000, 110, _("ソロストラン", "Solostoran") },
		{ 20000, 113, _("烏賊口アチシェ", "Achshe the Tentacled") },
		{ 30000, 110, _("貴族のカザ", "Kaza the Noble") },
		{ 30000, 110, _("暗きファジル", "Fazzil the Dark") },
		{ 15000, 110, _("偉大なるケルドーン", "Keldorn the Grand") },
		{ 20000, 113, _("フィランスロプス", "Philanthropus") },
		{ 30000, 110, _("魔女のアグナー", "Agnar the Enchantress") },
		{ 30000, 110, _("死霊術師ビュリアンス", "Buliance the Necromancer") },
		{ 15000, 110, _("ハイメイジのヴイラク", "Vuirak the High-Mage") },
		{ 20000, 113, _("知恵者マディッシュ", "Madish the Smart") },
		{ 30000, 110, _("ファレブリンボール", "Falebrimbor") },
		{ 30000, 110, _("陰険フェリル=ガンド", "Felil-Gand the Subtle") },
		{ 15000, 110, _("呪術師サレゴード", "Thalegord the Shaman") },
		{ 20000, 113, _("神秘家クトゥアロス", "Cthoaloth the Mystic") },
		{ 30000, 110, _("幻術師イベリ", "Ibeli the Illusionist") },
		{ 30000, 110, _("死霊術師ヘトー", "Heto the Necromancer") },
		{ 20000, 110, _("魔術師ロ=パン", "Lo Pan the Sorcerer") },
		{ 20000, 113, _("偉大なるブガービイ", "Buggerby the Great") },
		{ 30000, 110, _("イェンダーの魔法使い", "The Wizard of Yendor") },
		{ 30000, 110, _("死霊術師リャク", "Rjak the Necromancer") },
		{ 15000, 110, _("魔術師スキドゥニー", "Skidney the Sorcerer") },
		{ 30000, 110, _("幻術師キリア", "Kyria the Illusionist") },
		{ 30000, 110, _("死霊術師ニッキ", "Nikki the Necromancer") },
		{ 15000, 110, _("ソロストラン", "Solostoran") },
		{ 20000, 113, _("烏賊口アチシェ", "Achshe the Tentacled") },
	},
	{
		/* Black Market - 32 unique names */
		{ 20000, 150, _("ガリー=ギガズ", "Gary Gygaz") },
		{ 20000, 150, _("ゴブリンのヒストーア", "Histor the Goblin") },
		{ 30000, 150, _("フェレンギ人クアーク", "Quark the Ferengi") },
		{ 30000, 150, _("公正なる(?)トッピ", "Topi the Fair(?)") },
		{ 20000, 150, _("死人ヴァッサ", "Vhassa the Dead") },
		{ 20000, 150, _("裏切り者カイン", "Kyn the Treacherous") },
		{ 30000, 150, _("ブボニカス", "Bubonicus") },
		{ 30000, 150, _("コープスライト", "Corpselight") },
		{ 20000, 150, _("血に飢えしパリッシュ", "Parrish the Bloodthirsty") },
		{ 20000, 150, _("ヴァイル", "Vile") },
		{ 30000, 150, _("信頼のプレンティス", "Prentice the Trusted") },
		{ 30000, 150, _("人間殺しのグリエラ", "Griella Humanslayer") },
		{ 20000, 150, _("エンジェル", "Angel") },
		{ 20000, 150, _("水膨れフロツァム", "Flotsam the Bloated") },
		{ 30000, 150, _("ニーヴァル", "Nieval") },
		{ 30000, 150, _("明るいアナスタシア", "Anastasia the Luminous") },
		{ 20000, 150, _("死霊術師チャリティー", "Charity the Necromancer") },
		{ 20000, 150, _("ボクサーのプグナシオス", "Pugnacious the Pugilist") },
		{ 30000, 150, _("幸運なフットソア", "Footsore the Lucky") },
		{ 30000, 150, _("光指のシドリア", "Sidria Lighfingered") },
		{ 20000, 150, _("手品師リアソー", "Riatho the Juggler") },
		{ 20000, 150, _("やりくり上手のジャナッカ", "Janaaka the Shifty") },
		{ 30000, 150, _("悪党シーナ", "Cina the Rogue") },
		{ 30000, 150, _("大爪アルニッキ", "Arunikki Greatclaw") },
		{ 20000, 150, _("貧乏チャエアンド", "Chaeand the Poor") },
		{ 20000, 150, _("山賊アファードーフ", "Afardorf the Brigand") },
		{ 30000, 150, _("強欲ラザクスル", "Lathaxl the Greedy") },
		{ 30000, 150, _("ファラレウィン", "Falarewyn") },
		{ 20000, 150, _("しわしわヴォスール", "Vosur the Wrinkled") },
		{ 20000, 150, _("ハンサムなアラオード", "Araord the Handsome") },
		{ 30000, 150, _("負け犬セラドフリド", "Theradfrid the Loser") },
		{ 30000, 150, _("片足のエルーロ", "One-Legged Eroolo") },
	},
	{
		/* Home */
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
		{ 0, 100, _("我が家", "Your home") },
	},
	{
		/* Bookstore - 21 unique names */
		{ 10000, 108, _("強欲ドラフ", "Dolaf the Greedy") },
		{ 15000, 105, _("賢者オドナー", "Odnar the Sage") },
		{ 25000, 110, _("中立のガンダー", "Gandar the Neutral") },
		{ 30000, 105, _("忍耐の人ロ=シャ", "Ro-sha the Patient") },
		{ 15000, 108, _("ランドルフ・カーター", "Randolph Carter") },
		{ 15000, 108, _("隼のサライ", "Sarai the Swift") },
		{ 20000, 105, _("千里眼ボドリル", "Bodril the Seer") },
		{ 25000, 110, _("沈黙のヴェオロイン", "Veloin the Quiet") },
		{ 30000, 105, _("学者のヴァンシラス", "Vanthylas the Learned") },
		{ 15000, 108, _("物書きオセイン", "Ossein the Literate") },
		{ 20000, 105, _("本の虫オルヴァー", "Olvar Bookworm") },
		{ 25000, 110, _("浅井墓男", "Shallowgrave") },
		{ 30000, 105, _("デスマスク", "Death Mask") },
		{ 15000, 108, _("学者のアスーヌ", "Asuunu the Learned") },
		{ 20000, 105, _("死人のプリランド", "Prirand the Dead") },
		{ 25000, 110, _("鉄のロナール", "Ronar the Iron") },
		{ 30000, 105, _("ガリル=ガミル", "Galil-Gamir") },
		{ 15000, 108, _("本食いローバグ", "Rorbag Book-Eater") },
		{ 20000, 105, _("キリアリキーク", "Kiriarikirk") },
		{ 25000, 110, _("静かなるリリン", "Rilin the Quiet") },
		{ 30000, 105, _("王者イサング", "Isung the Lord") },
		{ 10000, 108, _("強欲ドラフ", "Dolaf the Greedy") },
		{ 15000, 105, _("賢者オドナー", "Odnar the Sage") },
		{ 25000, 110, _("中立のガンダー", "Gandar the Neutral") },
		{ 30000, 105, _("忍耐の人ロ=シャ", "Ro-sha the Patient") },
		{ 15000, 108, _("ランドルフ・カーター", "Randolph Carter") },
		{ 15000, 108, _("隼サライ", "Sarai the Swift") },
		{ 20000, 105, _("千里眼ボドリル", "Bodril the Seer") },
		{ 25000, 110, _("沈黙のヴェオロイン", "Veloin the Quiet") },
		{ 30000, 105, _("学者のヴァンシラス", "Vanthylas the Learned") },
		{ 15000, 108, _("物書きオセイン", "Ossein the Literate") },
		{ 20000, 105, _("本の虫オルヴァー", "Olvar Bookworm") },
	}
};


/*
 * This table allows quick conversion from "speed" to "energy"
 * The basic function WAS ((S>=110) ? (S-110) : (100 / (120-S)))
 * Note that table access is *much* quicker than computation.
 *
 * Note that the table has been changed at high speeds.  From
 * "Slow (-40)" to "Fast (+30)" is pretty much unchanged, but
 * at speeds above "Fast (+30)", one approaches an asymptotic
 * effective limit of 50 energy per turn.  This means that it
 * is relatively easy to reach "Fast (+30)" and get about 40
 * energy per turn, but then speed becomes very "expensive",
 * and you must get all the way to "Fast (+50)" to reach the
 * point of getting 45 energy per turn.  After that point,
 * furthur increases in speed are more or less pointless,
 * except to balance out heavy inventory.
 *
 * Note that currently the fastest monster is "Fast (+30)".
 *
 * It should be possible to lower the energy threshhold from
 * 100 units to 50 units, though this may interact badly with
 * the (compiled out) small random energy boost code.  It may
 * also tend to cause more "clumping" at high speeds.
 */
byte extract_energy[200] =
{
	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
	/* S-50 */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
	/* S-40 */     2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
	/* S-30 */     2,  2,  2,  2,  2,  2,  2,  3,  3,  3,
	/* S-20 */     3,  3,  3,  3,  3,  4,  4,  4,  4,  4,
	/* S-10 */     5,  5,  5,  5,  6,  6,  7,  7,  8,  9,
	/* Norm */    10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
	/* F+10 */    20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
	/* F+20 */    30, 31, 32, 33, 34, 35, 36, 36, 37, 37,
	/* F+30 */    38, 38, 39, 39, 40, 40, 40, 41, 41, 41,
	/* F+40 */    42, 42, 42, 43, 43, 43, 44, 44, 44, 44,
	/* F+50 */    45, 45, 45, 45, 45, 46, 46, 46, 46, 46,
	/* F+60 */    47, 47, 47, 47, 47, 48, 48, 48, 48, 48,
	/* F+70 */    49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
	/* Fast */    49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
};




/*
 * Base experience levels, may be adjusted up for race and/or class
 */
s32b player_exp[PY_MAX_LEVEL] =
{
	10,
	25,
	45,
	70,
	100,
	140,
	200,
	280,
	380,
	500,
	650,
	850,
	1100,
	1400,
	1800,
	2300,
	2900,
	3600,
	4400,
	5400,
	6800,
	8400,
	10200,
	12500,
	17500,
	25000,
	35000L,
	50000L,
	75000L,
	100000L,
	150000L,
	200000L,
	275000L,
	350000L,
	450000L,
	550000L,
	700000L,
	850000L,
	1000000L,
	1250000L,
	1500000L,
	1800000L,
	2100000L,
	2400000L,
	2700000L,
	3000000L,
	3500000L,
	4000000L,
	4500000L,
	5000000L
};


/*
 * Player Sexes
 *
 *      Title,
 *      Winner
 */
player_sex sex_info[MAX_SEXES] =
{
	{
#ifdef JP
		"女性",
		"Female",
		"クイーン"
#else
		"Female",
		"Queen"
#endif
	},
	{
#ifdef JP
		"男性",
		"Male",
		"キング"
#else
		"Male",
		"King"
#endif
	}
};


/*
 * Player Races
 *
 *      Title,
 *      {STR,INT,WIS,DEX,CON,CHR},
 *      r_dis, r_dev, r_sav, r_stl, r_srh, r_fos, r_thn, r_thb,
 *      hitdie, exp base,
 *      Age (Base, Mod),
 *      Male (Hgt, Wgt),
 *      Female (Hgt, Wgt)
 *      infra,
 *      class-choices,
 *      can-birth
 */
player_race race_info[MAX_RACES] =
{
	{
#ifdef JP
		"人間",
#endif
		"Human",
		{  0,  0,  0,  0,  0,  0 },
		0, 0, 0, 0, 0, 10, 0, 0,
		10, 100,
		16, 8,
		69, 6, 160, 25,
		64, 5, 135, 20,
		0,
		0x003F,
		TRUE,
	},
	{
#ifdef JP
		"ハーフエルフ",
#endif
		"Half-Elf",
		{ -1,  1,  1,  1, -1,  1 },
		2, 3, 3, 1, 6, 11, -1, 5,
		9, 110,
		24, 16,
		71, 5, 150, 20,
		65, 4, 130, 15,
		2,
		0x003F,
		TRUE,
	},
	{
#ifdef JP
		"エルフ",
#endif
		"Elf",
		{ -1,  2,  0,  2, -2,  2 },
		5, 6, 6, 2, 8, 12, -5, 15,
		9, 120,
		75, 75,
		73, 4, 150, 10,
		66, 4, 130, 10,
		3,
		0x003F,
		TRUE,
	},
	{
#ifdef JP
		"ホビット",
#endif
		"Hobbit",
		{ -2,  1,  1,  3,  2,  1 },
		15, 12, 10, 4, 12, 15, -10, 20,
		7, 110,
		21, 12,
		36, 3, 60, 3,
		33, 3, 50, 3,
		4,
		0x000A,
		TRUE,
	},
	{
#ifdef JP
		"ドワーフ",
#endif
		"Dwarf",
		{  2, -2,  2, -2,  2, -1 },
		2, 9, 10, -1, 7, 10, 15, 0,
		11, 125,
		35, 15,
		48, 3, 150, 10,
		46, 3, 120, 10,
		5,
		0x0015,
		TRUE,
	},
	{
#ifdef JP
		"ハーフオーク",
#endif
		"Half-Orc",
		{  2, -1,  0,  0,  1, -2 },
		-3, -3, -3, -1, 3, 7, 12, -5,
		10, 110,
		11, 4,
		66, 1, 150, 5,
		62, 1, 120, 5,
		3,
		0x0031,
		TRUE,
	},
	{
#ifdef JP
		"ドゥナダン",
#endif
		"Dunadan",
		{  1,  2,  2,  2,  3,  2 },
		4, 5, 5, 1, 8, 13, 15, 10,
		11, 180,
		50, 50,
		76, 5, 175, 25,
		70, 5, 150, 20,
		0,
		0x003F,
		TRUE,
	},
	{
#ifdef JP
		"ハイエルフ",
#endif
		"High-Elf",
		{  1,  3,  0,  3,  1,  3 },
		4,  13, 12, 3, 10, 14, 10, 25,
		10, 200,
		100, 30,
		82, 10, 190, 20,
		76, 10, 170, 15,
		4,
		0x003F,
		TRUE,
	},
	{
#ifdef JP
		"野蛮人",
#endif
		"Barbarian",
		{  3, -2, -1,  1,  2, -2 },
		-2, -8, 2, -1, 1, 7, 12, 10,
		12, 120,
		14, 12,
		72, 10, 150, 35,
		66, 10, 135, 30,
		0,
		0x0009,
		TRUE,
	},
};


/*
 * Player Classes
 *
 *      Title,
 *      {STR,INT,WIS,DEX,CON,CHR},
 *      c_dis, c_dev, c_sav, c_stl, c_srh, c_fos, c_thn, c_thb,
 *      x_dis, x_dev, x_sav, x_stl, x_srh, x_fos, x_thn, x_thb,
 *      HD, Exp, pet_upkeep_div,
 *      num, wgt, mul,
 *      sense_speed, sense_ego, sence_magic
 */
player_class class_info[MAX_CLASS] =
{
	{
#ifdef JP
		"戦士",
#endif
		"Warrior",
		{ 4, -2, -2, 2, 2, -1},
		25, 18, 28, 1,  14, 2,  70,  55,
		12, 7,  10, 0,  0,  0, 150, 150,
		9,  0, 20,
		6, 70, 50,
		SENSE_FAST, TRUE, SENSE_CANT
	},

	{
#ifdef JP
		"メイジ",
#endif
		"Mage",
		{-4, 3, 0, 1, -2, 1},
		30, 36, 38, 2,  16, 20, 34, 20,
		7,  13, 11,  0,  0,  0,  30, 35,
		0, 30, 15,
		2, 100, 20,
		SENSE_POOR, FALSE, SENSE_FAST
	},

	{
#ifdef JP
		"プリースト",
#endif
		"Priest",
		{-1, -3, 3, -1, 0, 2},
		25, 24, 40, 2,  16, 8, 48, 35,
		7,  10, 12, 0,  0,  0, 65, 55,
		2, 20, 20,
		5, 100, 30,
		SENSE_FAST, FALSE, SENSE_GOOD
	},

	{
#ifdef JP
		"アーチャー",
#endif
		"Archer",
		{ 1, -1, -1, 2, 1, 0},
		38, 20, 35, 4, 24, 16, 56,  82,
		12,  8, 10, 0,  0,  0, 90, 180,
		4, 10, 40,
		2, 70, 20,
		SENSE_GOOD, TRUE, SENSE_CANT
	},

	{
#ifdef JP
		"パラディン",
#endif
		"Paladin",
		{ 2, -2, 1, 0, 2, 2},
		20, 20, 34, 1,  12, 2,  68, 40,
		7,   8, 11, 0,  0,  0, 105, 90,
		6, 35, 20,
		5, 70, 45,
		SENSE_SLOW, TRUE, SENSE_POOR
	},

	{
#ifdef JP
		"魔法戦士",
#endif
		"Warrior-Mage",
		{ 1, 2, 0, 1, 0, 1},
		30, 30, 36, 2,  18, 16,  65,  45,
		7,  10, 10, 0,  0,  0,  100, 135,
		4, 40, 20,
		5, 70, 40,
		SENSE_SLOW, FALSE, SENSE_BAD
	},
};


/*
 * Zangband uses this array instead of the spell flags table, as there
 * are 5 realms of magic, each with 4 spellbooks and 8 spells per book -- TY
 */
u32b fake_spell_flags[4]=
{
	0x000000ff,
	0x0000ff00,
	0x00000000,
	0x00000000
};


byte realm_choices1[MAX_CLASS] =
{
	(CH_NONE),								/* Warrior */
	(CH_SORCERY),							/* Mage */
	(CH_LIFE),								/* Priest */
	(CH_NONE),								/* Archer */
	(CH_LIFE),								/* Paladin */
	(CH_SORCERY),							/* Warrior-Mage */
};


byte realm_choices2[MAX_CLASS] =
{
	/* No realm2 */
	(CH_NONE),
	(CH_NONE),
	(CH_NONE),
	(CH_NONE),
	(CH_NONE),
	(CH_NONE),
};


#ifdef JP
cptr realm_names[] =
{
	"魔法なし",
	"生命",
	"仙術",
	"無双",
	"呪術",
	"不明",
};

cptr E_realm_names[] =
#else
cptr realm_names[] =
#endif
{
	"no magic",
	"Life",
	"Sorcery",
	"Combat",
	"Magic",
	"unknown"
};

/*
 * Names of the spells (mage spells then priest spells)
 */
cptr spell_names[MAX_REALM][MAX_SPELLS] =
{
	/*** Life Spells ***/
	{
		/* Common Life Spellbooks */
#ifdef JP
		"邪悪存在感知",
		"軽傷の治癒",
		"祝福",
		"光の召喚",
		"罠 & 隠し扉感知",
		"空腹充足",
		"聖なる光球",
		"耐熱耐寒",
#else
		"Detect Evil",
		"Cure Light Wounds",
		"Bless",
		"Call Light",
		"Detect Doors and Traps",
		"Satisfy Hunger",
		"Holy Orb",
		"Resistance Heat & Cold",
#endif

#ifdef JP
		"致命傷の治癒",
		"解呪",
		"全復活",
		"周辺感知",
		"邪悪退散",
		"体力回復",
		"武器祝福",
		"スターバースト",
#else
		"Cure Critical Wounds",
		"Remove Curse",
		"Restoration",
		"Sense Surrounding",
		"Dispel Evil",
		"Healing",
		"Bless Weapon",
		"Starburst",
#endif
	},

	/*** Sorcery Spells ***/
	{
		/* Common Sorcery Spellbooks */
#ifdef JP
		"マジック・ミサイル",
		"ショートテレポート",
		"モンスター感知",
		"テレポート",
		"魔力炸裂",
		"魔法の地図",
		"テレポート・アウェイ",
		"岩砕き",
#else
		"Magic Missile",
		"Phase Door",
		"Detect Monsters",
		"Teleport",
		"Mana Burst",
		"Magic Mapping",
		"Teleport Away",
		"Rock Smash",
#endif

#ifdef JP
		"火炎の武器",
		"帰還",
		"鑑定",
		"衰弱の矢",
		"精神感知",
		"スピード",
		"全感知",
		"地獄の劫火",
#else
		"Fire Brand",
		"Word of Recall",
		"Identify",
		"Drain Bolt",
		"Sense Minds",
		"Haste Self",
		"Detect All",
		"Hell Fire",
#endif
	},
};


/*
 * Each chest has a certain set of traps, determined by pval
 * Each chest has a "pval" from 1 to the chest level (max 55)
 * If the "pval" is negative then the trap has been disarmed
 * The "pval" of a chest determines the quality of its treasure
 * Note that disarming a trap on a chest also removes the lock.
 */
byte chest_traps[64] =
{
	0,                                      /* 0 == empty */
	(CHEST_POISON),
	(CHEST_LOSE_STR),
	(CHEST_LOSE_CON),
	(CHEST_LOSE_STR),
	(CHEST_LOSE_CON),                       /* 5 == best small wooden */
	0,
	(CHEST_POISON),
	(CHEST_POISON),
	(CHEST_LOSE_STR),
	(CHEST_LOSE_CON),
	(CHEST_POISON),
	(CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_SUMMON),                 /* 15 == best large wooden */
	0,
	(CHEST_LOSE_STR),
	(CHEST_LOSE_CON),
	(CHEST_PARALYZE),
	(CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_SUMMON),
	(CHEST_PARALYZE),
	(CHEST_LOSE_STR),
	(CHEST_LOSE_CON),
	(CHEST_EXPLODE),                        /* 25 == best small iron */
	0,
	(CHEST_POISON | CHEST_LOSE_STR),
	(CHEST_POISON | CHEST_LOSE_CON),
	(CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_PARALYZE),
	(CHEST_POISON | CHEST_SUMMON),
	(CHEST_SUMMON),
	(CHEST_EXPLODE),
	(CHEST_EXPLODE | CHEST_SUMMON), /* 35 == best large iron */
	0,
	(CHEST_SUMMON),
	(CHEST_EXPLODE),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_POISON | CHEST_PARALYZE),
	(CHEST_EXPLODE),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_POISON | CHEST_PARALYZE),        /* 45 == best small steel */
	0,
	(CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_POISON | CHEST_PARALYZE | CHEST_LOSE_STR),
	(CHEST_POISON | CHEST_PARALYZE | CHEST_LOSE_CON),
	(CHEST_POISON | CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_POISON | CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_POISON | CHEST_PARALYZE | CHEST_LOSE_STR | CHEST_LOSE_CON),
	(CHEST_POISON | CHEST_PARALYZE),
	(CHEST_POISON | CHEST_PARALYZE),        /* 55 == best large steel */
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
	(CHEST_EXPLODE | CHEST_SUMMON),
};


/*
 * Class titles for the player.
 *
 * The player gets a new title every five levels, so each class
 * needs only ten titles total.
 */
cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
{
	/* Warrior */
	{
#ifdef JP
		"新参兵",
		"兵士",
		"傭兵",
		"古参兵",
		"剣士",
		"闘士",
		"英雄",
		"男爵",
		"伯爵",
		"君主",
#else
		"Rookie",
		"Soldier",
		"Mercenary",
		"Veteran",
		"Swordsman",
		"Champion",
		"Hero",
		"Baron",
		"Duke",
		"Lord",
#endif
	},

	/* Mage */
	{
#ifdef JP
		"見習い",
		"練習生",                 /*丁稚、練習生*/
		"奇術師",               /*詐欺師、ペテン師*/
		"幻術師",
		"呪術師",
		"召霊師",
		"召魔師",
		"魔術師",
		"イプシシマス",
		"大魔導師",
#else
		"Apprentice",
		"Trickster",
		"Illusionist",
		"Spellbinder",
		"Evoker",
		"Conjurer",
		"Warlock",
		"Sorcerer",
		"Ipsissimus",
		"Archimage",
#endif
	},

	/* Priest */
	{
#ifdef JP
		"信者",                 /*信徒*/
		"侍僧",             /*教会奉仕者、見習い僧、伴僧、従者*/
		"熟練僧",
		"聖職者",                 /*聖職者*/
		"牧師",               /*司祭評議員、修道会会員*/
		"司教",               /*ラマ教の僧*/
		"大司教",               /*大司教、総主教、総大司教*/
		"教皇",                 /*祭司、司祭*/
		"大教皇",               /*大祭司、祭司長*/
		"総大教皇",
#else
		"Believer",
		"Acolyte",
		"Adept",
		"Curate",
		"Canon",
		"Priest",
		"High Priest",
		"Cardinal",
		"Inquisitor",
		"Pope",
#endif
	},

	/* Archer */
	{
#ifdef JP
		"新参兵",
		"兵士",
		"傭兵",
		"古参兵",
		"剣士",
		"闘士",
		"英雄",
		"男爵",
		"伯爵",
		"君主",
#else
		"Rookie",
		"Soldier",
		"Mercenary",
		"Veteran",
		"Swordsman",
		"Champion",
		"Hero",
		"Baron",
		"Duke",
		"Lord",
#endif
	},

	/* Paladins */
	{
#ifdef JP
		"勇士",                 /*色男、愛人、しゃれ者、勇敢な人*/
		"衛士",
		"保護者",
		"防衛者",
		"護衛者",
		"騎士",
		"重騎士",
		"聖騎士",
		"上級聖騎士",
		"聖騎士長",
#else
		"Gallant",
		"Keeper",
		"Protector",
		"Defender",
		"Warder",
		"Knight",
		"Guardian",
		"Low Paladin",
		"High Paladin",
		"Paladin Lord",
#endif
	},

	/* Warrior-Mage */
	{
#ifdef JP
		"見習い",
		"練習生",			/*丁稚、練習生*/
		"一人前",
		"古参兵",
		"魔術兵士",
		"魔術闘士",
		"魔術男爵",
		"魔術公爵",
		"戦闘魔術士",
		"魔術君主",
#else
		"Novice",
		"Apprentice",
		"Journeyman",
		"Veteran",
		"Enchanter",
		"Champion",
		"Mage-Hero",
		"Baron Mage",
		"Battlemage",
		"Wizard Lord",
#endif
	},
};


/*
 * Hack -- the "basic" color names (see "TERM_xxx")
 */
cptr color_names[16] =
{
#ifdef JP
	"黒",
	"白",
	"青灰色",
	"オレンジ",
	"赤",
	"緑",
	"青",
	"琥珀色",
	"灰色",
	"明青灰色",
	"紫",
	"黄",
	"明るい赤",
	"明るい緑",
	"明るい青",
	"明琥珀色",
#else
	"Dark",
	"White",
	"Slate",
	"Orange",
	"Red",
	"Green",
	"Blue",
	"Umber",
	"Light Dark",
	"Light Slate",
	"Violet",
	"Yellow",
	"Light Red",
	"Light Green",
	"Light Blue",
	"Light Umber",
#endif
};


/*
 * Abbreviations of healthy stats
 */
cptr stat_names[6] =
{
#ifdef JP
	"腕力 :", "知能 :", "賢さ :", "器用 :", "耐久 :", "魅力 :"
#else
	"STR: ", "INT: ", "WIS: ", "DEX: ", "CON: ", "CHR: "
#endif
};

/*
 * Abbreviations of damaged stats
 */
cptr stat_names_reduced[6] =
{
#ifdef JP
	"腕力x:", "知能x:", "賢さx:", "器用x:", "耐久x:", "魅力x:"
#else
	"Str: ", "Int: ", "Wis: ", "Dex: ", "Con: ", "Chr: "
#endif
};


/*
 * Certain "screens" always use the main screen, including News, Birth,
 * Dungeon, Tomb-stone, High-scores, Macros, Colors, Visuals, Options.
 *
 * Later, special flags may allow sub-windows to "steal" stuff from the
 * main window, including File dump (help), File dump (artifacts, uniques),
 * Character screen, Small scale map, Previous Messages, Store screen, etc.
 *
 * The "ctrl-i" (tab) command flips the "Display inven/equip" and "Display
 * equip/inven" flags for all windows.
 *
 * The "ctrl-g" command (or pseudo-command) should perhaps grab a snapshot
 * of the main screen into any interested windows.
 */
cptr window_flag_desc[32] =
{
#ifdef JP
	"持ち物/装備一覧",
	"装備/持ち物一覧",
	"呪文一覧",
	"キャラクタ情報",
	"能力値/耐性情報",
#else
	"Display inven/equip",
	"Display equip/inven",
	"Display spell list",
	"Display character",
	"Display stats/res",
#endif
	NULL,
#ifdef JP
	"メッセージ",
	"ダンジョン全体図",
	"モンスターの思い出",
	"アイテムの詳細",
	"自分の周囲を表示", 
	"記念撮影",
	"床上のアイテム",
#else
	"Display messages",
	"Display overhead view",
	"Display monster recall",
	"Display object recall",
	"Display dungeon view",
	"Display snap-shot",
	"Display objs on floor",
#endif
	NULL,
#ifdef JP
	"ボーグ・メッセージ",
	"ボーグ・ステータス",
#else
	"Display borg messages",
	"Display borg status",
#endif
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL
};


/*
 * Available Options
 *
 * Option Screen Sets:
 *
 *      Set 1: User Interface
 *      Set 2: Disturbance
 *      Set 3: Inventory
 *      Set 4: Game Play
 *
 * Note that bits 28-31 of set 0 are currently unused.
 */
option_type option_info[] =
{
	/*** User-Interface ***/
	
#ifdef JP
	{ &rogue_like_commands,         TRUE, 1, 0, 0,
	"rogue_like_commands",          "ローグ風キー配置を使用する" },
#else
	{ &rogue_like_commands,         FALSE, 1, 0, 0,
	"rogue_like_commands",          "Rogue-like commands" },
#endif

#ifdef JP
	{ &quick_messages,              TRUE, 1, 0, 1,
	"quick_messages",               "クイック・メッセージを使用する" },
#else
	{ &quick_messages,              TRUE, 1, 0, 1,
	"quick_messages",               "Activate quick messages" },
#endif

#ifdef JP
	{ &auto_more,                   FALSE, 1, 2, 4,
	"auto_more",                    "キー待ちしないで連続でメッセージを表示する" },
#else
	{ &auto_more,                   FALSE, 1, 2, 4,
	"auto_more",                    "Automatically clear '-more-' prompts" },
#endif

#ifdef JP
	{ &confirm_store,               TRUE,  1, 1, 0,
	"confirm_store",                "店での売買時に確認をする" },
#else
	{ &confirm_store,               TRUE,  1, 1, 0,
	"confirm_store",                "Confirm buying or selling in stores" },
#endif

#ifdef JP
	{ &command_menu,                TRUE, 1, 2, 5,
	"command_menu",                 "メニューによるコマンド選択を有効にする" },
#else
	{ &command_menu,                TRUE, 1, 2, 5,
	"command_menu",                 "Enable command selection menu" },
#endif

#ifdef JP
	{ &always_pickup,               FALSE, 1, 0, 5,
	"always_pickup",                "常にアイテムを拾う" },
#else
	{ &always_pickup,               FALSE, 1, 0, 5,
	"always_pickup",                "Pick things up by default" },
#endif

#ifdef JP
	{ &carry_query_flag,            FALSE, 1, 0, 3,
	"carry_query_flag",             "アイテムを拾う前に確認する" },
#else
	{ &carry_query_flag,            FALSE, 1, 0, 3,
	"carry_query_flag",             "Prompt before picking things up" },
#endif

#ifdef JP
	{ &use_old_target,              FALSE, 1, 0, 4,
	"use_old_target",               "常に以前のターゲットを指定する" },
#else
	{ &use_old_target,              FALSE, 1, 0, 4,
	"use_old_target",               "Use old target by default" },
#endif

#ifdef JP
	{ &auto_destroy,                TRUE, 1, 5, 3,
	"auto_destroy",                 "「無価値」なアイテムを破壊する時確認しない" },
#else
	{ &auto_destroy,                TRUE, 1, 5, 3,
	"auto_destroy",                 "No query to destroy known worthless items" },
#endif

#ifdef JP
	{ &confirm_stairs,              TRUE, 1, 5, 5,
	"confirm_stairs",               "別の階に行く時確認する" },
#else
	{ &confirm_stairs,              TRUE, 1, 5, 5,
	"confirm_stairs",               "Prompt before exiting a dungeon level" },
#endif

#ifdef ALLOW_EASY_OPEN
#ifdef JP
	{ &easy_open,                   TRUE, 1, 5, 7,
	"easy_open",                    "自動的にドアを開ける" },
#else
	{ &easy_open,                   TRUE, 1, 5, 7,
	"easy_open",                    "Automatically open doors" },
#endif
#endif /* ALLOW_EASY_OPEN */

#ifdef ALLOW_EASY_FLOOR /* TNB */
#ifdef JP
	{ &easy_floor,                  TRUE, 1, 5, 9,
	"easy_floor",                   "床上の複数アイテムを一覧にする" },
#else
	{ &easy_floor,                  TRUE, 1, 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",                  "「使う(a)」コマンドを有効にする" },
#else
	{ &use_command,                 FALSE, 1, 5, 10,
	"use_command",                  "Allow unified use command" },
#endif

#ifdef JP
	{ &allow_debug_opts,            FALSE, 1, 2, 13,
	"allow_debug_opts",             "デバッグ/詐欺オプションを許可する" },
#else
	{ &allow_debug_opts,            FALSE, 1, 2, 13,
	"allow_debug_opts",             "Allow use of debug/cheat options" },
#endif

#ifdef JP
	{ &over_exert,                  FALSE, 1, 2, 6,
	"over_exert",                   "MPが足りなくても魔法に挑戦する" },
#else
	{ &over_exert,                  FALSE, 1, 2, 6,
	"over_exert",                   "Allow casting spells when short of mana" },
#endif

#ifdef JP
	{ &numpad_as_cursorkey,         TRUE, 1, 2, 31,
	"numpad_as_cursorkey",          "エディタ内でテンキーをカーソルキーとして使う" },
#else
	{ &numpad_as_cursorkey,         TRUE, 1, 2, 31,
	"numpad_as_cursorkey",          "Use numpad keys as cursor keys in editor mode" },
#endif

	/*** Display ***/
	
#ifdef JP
	{ &depth_in_feet,               FALSE, 2, 0, 7,
	"depth_in_feet",                "ダンジョンの深さをフィートで表示する" },
#else
	{ &depth_in_feet,               FALSE, 2, 0, 7,
	"depth_in_feet",                "Show dungeon level in feet" },
#endif

#ifdef JP
	{ &show_choices,                TRUE, 2, 0, 12,
	"show_choices",                 "持ち物/装備ウィンドウに選択アイテム表示" },
#else
	{ &show_choices,                TRUE, 2, 0, 12,
	"show_choices",                 "Show choices in certain sub-windows" },
#endif

#ifdef JP
	{ &player_symbols,              FALSE, 2, 1, 13,
	"player_symbols",               "プレイヤーを特別な記号で表示する"},
#else
	{ &player_symbols,              FALSE, 2, 1, 13,
	"player_symbols",               "Use special symbols for the player char"},
#endif

#ifdef JP
	{ &skip_mutations,              FALSE, 2, 5, 0,
	"skip_mutations",               "'C'コマンドで突然変異を表示しない" },
#else
	{ &skip_mutations,              FALSE, 2, 5, 0,
	"skip_mutations",               "Skip mutations in 'C'haracter Display" },
#endif

#ifdef JP
	{ &plain_descriptions,          TRUE, 2, 5, 1,  /*日本語版変更*/
	"plain_descriptions",           "アイテムの記述を簡略にする" },
#else
	{ &plain_descriptions,          TRUE, 2, 5, 1,
	"plain_descriptions",           "Plain object descriptions" },
#endif

#ifdef JP
	{ &center_player,               FALSE, 2, 5, 11,
	"center_player",                "常にプレイヤーを中心に置く(*遅い*)" },
#else
	{ &center_player,               FALSE, 2, 5, 11,
	"center_player",                "Always center on the player (*slow*)" },
#endif

#ifdef JP
	{ &view_yellow_lite,            TRUE, 2, 1, 28,
	"view_yellow_lite",             "明かりの範囲を特別な色で表示する" },
#else
	{ &view_yellow_lite,            TRUE, 2, 1, 28,
	"view_yellow_lite",             "Use special colors for torch-lit grids" },
#endif

#ifdef JP
	{ &view_bright_lite,            TRUE, 2, 1, 29,
	"view_bright_lite",             "視界の範囲を特別な色で表示する" },
#else
	{ &view_bright_lite,            TRUE, 2, 1, 29,
	"view_bright_lite",             "Use special colors for 'viewable' grids" },
#endif

#ifdef JP
	{ &view_granite_lite,           TRUE, 2, 1, 30,
	"view_granite_lite",            "壁を特別な色で表示する(重い)" },
#else
	{ &view_granite_lite,           TRUE, 2, 1, 30,
	"view_granite_lite",            "Use special colors for wall grids (slow)" },
#endif

#ifdef JP
	{ &view_special_lite,           TRUE, 2, 1, 31,
	"view_special_lite",            "床を特別な色で表示する(重い)" },
#else
	{ &view_special_lite,           TRUE, 2, 1, 31,
	"view_special_lite",            "Use special colors for floor grids (slow)" },
#endif

#ifdef JP
	{ &new_ascii_graphics,          TRUE, 2, 2, 8,
	"new_ascii_graphics",           "地形の明暗をはっきりと表示する" },
#else
	{ &new_ascii_graphics,          TRUE, 2, 2, 8,
	"new_ascii_graphics",           "Show a clear contrast between light and dark" },
#endif

#ifdef JP
	{ &display_path,                TRUE, 2, 2, 7,
	"display_path",                 "魔法や矢の軌道を表示する" },
#else
	{ &display_path,                TRUE, 2, 2, 7,
	"display_path",                 "Display actual path before shooting" },
#endif

#ifdef JP
	{ &always_show_list,            TRUE, 2, 2, 9,
	"always_show_list",             "選択時には常に一覧を表示する" },
#else
	{ &always_show_list,            TRUE, 2, 2, 9,
	"always_show_list",             "Always show list" },
#endif

#ifdef JP
	{ &abbrev_extra,                TRUE, 2, 5, 14,
	"abbrev_extra",                 "アイテムに追加耐性/能力の略称を刻む" },
#else
	{ &abbrev_extra,                TRUE, 2, 5, 14,
	"abbrev_extra",                 "Describe obj's extra resistances by abbreviation" },
#endif

#ifdef JP
	{ &abbrev_all,                  FALSE, 2, 5, 15,
	"abbrev_all",                   "アイテムに全ての耐性/能力の略称を刻む" },
#else
	{ &abbrev_all,                  FALSE, 2, 5, 15,
	"abbrev_all",                   "Describe obj's all resistances by abbreviation" },
#endif

#ifdef JP
	{ &exp_need,                    FALSE, 2, 5, 13,
	"exp_need",                     "次のレベルに必要な経験値を表示する" },
#else
	{ &exp_need,                    FALSE, 2, 5, 13,
	"exp_need",                     "Show the experience needed for next level" },
#endif

	/*** Game-Play ***/
#ifdef JP
	{ &auto_scum,                   FALSE, 3, 1, 1,
	"auto_scum",                    "階の雰囲気自動選り好み" },
#else
	{ &auto_scum,                   FALSE, 3, 1, 1,
	"auto_scum",                    "Auto-scum for good levels" },
#endif

#ifdef JP
	{ &stack_force_notes,           TRUE, 3, 0, 8,
	"stack_force_notes",            "異なる銘のアイテムをまとめる" },
#else
	{ &stack_force_notes,           TRUE, 3, 0, 8,
	"stack_force_notes",            "Merge inscriptions when stacking" },
#endif

#ifdef JP
	{ &stack_force_costs,           TRUE, 3, 0, 9,
	"stack_force_costs",            "異なる割引表示のアイテムをまとめる" },
#else
	{ &stack_force_costs,           TRUE, 3, 0, 9,
	"stack_force_costs",            "Merge discounts when stacking" },
#endif

#ifdef JP
	{ &expand_look,                 TRUE, 3, 1, 4,
	"expand_look",                  "「回りを調べる」コマンドを拡張する" },
#else
	{ &expand_look,                 TRUE, 3, 1, 4,
	"expand_look",                  "Expand the power of the look command" },
#endif

#ifdef JP
	{ &expand_list,                 TRUE, 3, 1, 5,
	"expand_list",                  "「一覧」コマンドを拡張する" },
#else
	{ &expand_list,                 TRUE, 3, 1, 5,
	"expand_list",                  "Expand the power of the list commands" },
#endif

#ifdef JP
	{ &view_perma_grids,            TRUE, 3, 1, 6,
	"view_perma_grids",             "明るい場所はそのままにする" },
#else
	{ &view_perma_grids,            TRUE, 3, 1, 6,
	"view_perma_grids",             "Map remembers all perma-lit grids" },
#endif

#ifdef JP
	{ &view_torch_grids,            FALSE, 3, 1, 7,
	"view_torch_grids",             "明かりで照らした場所はそのままにする" },
#else
	{ &view_torch_grids,            FALSE, 3, 1, 7,
	"view_torch_grids",             "Map remembers all torch-lit grids" },
#endif

#ifdef JP
	{ &view_unsafe_grids,            TRUE, 3, 2, 10,
	"view_unsafe_grids",             "トラップ感知済みでない場所を表示する" },
#else
	{ &view_unsafe_grids,            TRUE, 3, 2, 10,
	"view_unsafe_grids",             "Map marked by detect traps" },
#endif

#ifdef JP
	{ &dungeon_align,               TRUE, 3, 1, 8,
	"dungeon_align",                "ダンジョン生成時に部屋をそろえる" },
#else
	{ &dungeon_align,               TRUE, 3, 1, 8,
	"dungeon_align",                "Generate dungeons with aligned rooms" },
#endif

#ifdef JP
	{ &dungeon_stair,               TRUE, 3, 1, 9,
	"dungeon_stair",                "階段をつなげてダンジョンを生成する" },
#else
	{ &dungeon_stair,               TRUE, 3, 1, 9,
	"dungeon_stair",                "Generate dungeons with connected stairs" },
#endif

#ifdef JP
	{ &last_words,                  TRUE, 3, 0, 28,
	"last_words",                   "キャラクターが死んだ時遺言をのこす" },
#else
	{ &last_words,                  TRUE, 3, 0, 28,
	"last_words",                   "Get last words when the character dies" },
#endif

#ifdef JP
	{ &speak_unique,                TRUE, 3, 0, 29,
	"speak_unique",                 "店主やユニークモンスターがしゃべる" },
#else
	{ &speak_unique,                TRUE, 3, 0, 29,
	"speak_unique",                 "Allow shopkeepers and uniques to speak" },
#endif

#ifdef JP
	{ &ignore_unview,               FALSE, 3, 2, 16,
	"ignore_unview",                "視界外のモンスターの行動を表示しない" },
#else
	{ &ignore_unview,               FALSE, 3, 2, 16,
	"ignore_unview",                "Ignore whatever monsters do when out of sight" },
#endif

	/*** Disturbance ***/
	
#ifdef JP
	{ &find_ignore_stairs,          FALSE, 4, 0, 16,
	"find_ignore_stairs",           "階段は通過する" },
#else
	{ &find_ignore_stairs,          FALSE, 4, 0, 16,
	"find_ignore_stairs",           "Run past stairs" },
#endif

#ifdef JP
	{ &find_ignore_doors,           TRUE, 4, 0, 17,
	"find_ignore_doors",            "ドアは通過する" },
#else
	{ &find_ignore_doors,           TRUE, 4, 0, 17,
	"find_ignore_doors",            "Run through open doors" },
#endif

#ifdef JP
	{ &find_ignore_trees,           TRUE, 4, 2, 15,
	"find_ignore_trees",            "木は通過する" },
#else
	{ &find_ignore_trees,           TRUE, 4, 2, 15,
	"find_ignore_trees",            "Run through trees" },
#endif

#ifdef JP
	{ &find_cut,                    FALSE, 4, 0, 18,
	"find_cut",                     "既知の曲り角は通過する" },
#else
	{ &find_cut,                    FALSE, 4, 0, 18,
	"find_cut",                     "Run past known corners" },
#endif

#ifdef JP
	{ &find_examine,                TRUE, 4, 0, 19,
	"find_examine",                 "曲り角かもしれない場合通過する" },
#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
	{ &disturb_other,               TRUE, 4, 0, 25,
	"disturb_other",                "様々なことが起きたら行動を中止する" },
#else
	{ &disturb_other,               TRUE, 4, 0, 25,
	"disturb_other",                "Disturb whenever random 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)" },
#endif

#ifdef JP
	{ &alert_hitpoint,              FALSE, 4, 0, 26,
	"alert_hitpoint",               "低ヒットポイントの警告時にビープを鳴らす" },
#else
	{ &alert_hitpoint,              FALSE, 4, 0, 26,
	"alert_hitpoint",               "Alert user to critical hitpoints" },
#endif

#ifdef JP
	{ &disturb_trap_detect,         TRUE, 4, 2, 11,
	"disturb_trap_detect",          "トラップ感知範囲外に出る直前に行動を中止する" },
#else
	{ &disturb_trap_detect,         TRUE, 4, 2, 11,
	"disturb_trap_detect",          "Disturb when leaving trap detected area"},
#endif

#ifdef JP
	{ &alert_trap_detect,           TRUE, 4, 2, 12,
	"alert_trap_detect",            "トラップ感知範囲外に出る直前に警告する" },
#else
	{ &alert_trap_detect,           TRUE, 4, 2, 12,
	"alert_trap_detect",            "Alert when leaving trap detected area"},
#endif

	/*** Efficiency ***/

#ifdef JP
	{ &use_color,                   TRUE, 5, 0, 15,
	"use_color",                    "可能ならカラーで表示（遅い）" },
#else
	{ &use_color,                   TRUE, 5, 0, 15,
	"use_color",                    "Use color if possible (slow)" },
#endif

#ifdef JP
	{ &view_reduce_lite,            FALSE, 5, 1, 16,
	"view_reduce_lite",             "走っているときは明かりの半径を減少する" },
#else
	{ &view_reduce_lite,            FALSE, 5, 1, 16,
	"view_reduce_lite",             "Reduce lite-radius when running" },
#endif

#ifdef JP
	{ &view_reduce_view,            FALSE, 5, 1, 17,
	"view_reduce_view",             "街では視野を狭くする" },
#else
	{ &view_reduce_view,            FALSE, 5, 1, 17,
	"view_reduce_view",             "Reduce view-radius in town" },
#endif

#ifdef JP
	{ &avoid_abort,                 FALSE, 5, 1, 18,
	"avoid_abort",                  "連続コマンドはキー入力で中断しない" },
#else
	{ &avoid_abort,                 FALSE, 5, 1, 18,
	"avoid_abort",                  "Avoid checking for user abort" },
#endif

#ifdef JP
	{ &flush_failure,               TRUE, 5, 1, 20,
	"flush_failure",                "様々なミス発生時に入力をクリアする" },
#else
	{ &flush_failure,               TRUE, 5, 1, 20,
	"flush_failure",                "Flush input on various failures" },
#endif

#ifdef JP
	{ &flush_disturb,               FALSE, 5, 1, 21,
	"flush_disturb",               "障害発生時に入力をクリアする" },
#else
	{ &flush_disturb,               FALSE, 5, 1, 21,
	"flush_disturb",                "Flush input whenever disturbed" },
#endif

#ifdef JP
	{ &fresh_before,                TRUE, 5, 1, 23,
	"fresh_before",                 "コマンド前に画面を再描画する" },
#else
	{ &fresh_before,                TRUE, 5, 1, 23,
	"fresh_before",                 "Flush output before every command" },
#endif

#ifdef JP
	{ &fresh_after,                 FALSE, 5, 1, 24,
	"fresh_after",                  "コマンド後に画面を再描画する" },
#else
	{ &fresh_after,                 FALSE, 5, 1, 24,
	"fresh_after",                  "Flush output after every command" },
#endif

#ifdef JP
	{ &fresh_message,               FALSE, 5, 1, 25,
	"fresh_message",                "メッセージの後に画面を再描画する" },
#else
	{ &fresh_message,               FALSE, 5, 1, 25,
	"fresh_message",                "Flush output after every message" },
#endif

#ifdef JP
	{ &compress_savefile,           TRUE, 5, 1, 26,
	"compress_savefile",            "セーブ・ファイル中のメッセージを圧縮する" },
#else
	{ &compress_savefile,           TRUE, 5, 1, 26,
	"compress_savefile",            "Compress messages in savefiles" },
#endif

#ifdef JP
	{ &hilite_player,               TRUE, 5, 1, 27,
	"hilite_player",                "プレイヤーにカーソルを合わせる" },
#else
	{ &hilite_player,               TRUE, 5, 1, 27,
	"hilite_player",                "Hilite the player with the cursor" },
#endif

	/*** Initialize ***/

#ifdef JP
	{ &ironman_shops,               FALSE, 6, 6, 2,
	"ironman_shops",                "（鉄人用）店を使用しない" },
#else
	{ &ironman_shops,               FALSE, 6, 6, 2,
	"ironman_shops",                "Stores are permanently closed" },
#endif

#ifdef JP
	{ &ironman_downward,            FALSE, 6, 6, 4,
	"ironman_downward",             "（鉄人用）帰還と上り階段なし" },
#else
	{ &ironman_downward,            FALSE, 6, 6, 4,
	"ironman_downward",             "Don't allow climbing upwards/recalling" },
#endif

#ifdef JP
	{ &ironman_autoscum,            FALSE, 6, 6, 5,
	"ironman_autoscum",             "（鉄人用）常に階の雰囲気を自動選り好みする" },
#else
	{ &ironman_autoscum,            FALSE, 6, 6, 5,
	"ironman_autoscum",             "Permanently enable the autoscummer" },
#endif

#if 0
#ifdef JP
	{ &munchkin_rings,              FALSE, 6, 6, 17,
	"munchkin_rings",               "（いんちき）指輪が増殖する" },
#else
	{ &munchkin_rings,              FALSE, 6, 6, 17,
	"munchkin_rings",               "Allow multiple rings" },
#endif
#endif

#ifdef JP
	{ &ironman_nightmare,           FALSE, 6, 6, 18,
	"ironman_nightmare",            "（鉄人用）悪夢モード(これは全く不条理です！)" },
#else
	{ &ironman_nightmare,           FALSE, 6, 6, 18,
	"ironman_nightmare",            "Nightmare mode (this isn't even remotely fair!)" },
#endif

#ifdef JP
	{ &terrain_streams,             TRUE, 6, 6, 9,
	"terrain_streams",              "川や森などをダンジョンに生成" },
#else
	{ &terrain_streams,             TRUE, 6, 6, 9,
	"terrain_streams",              "Create terrain 'streamers' in the dungeon" },
#endif

#ifdef JP
	{ &preserve_mode,               TRUE, 6, 6, 14,
	"preserve_mode",                "保存モード使用" },
#else
	{ &preserve_mode,               TRUE, 6, 6, 14,
	"preserve_mode",                "Preserve artifacts" },
#endif

#ifdef JP
	{ &autoroller,                  TRUE, 6, 6, 15,
	"autoroller",                   "オートローラー使用" },
#else
	{ &autoroller,                  TRUE, 6, 6, 15,
	"autoroller",                   "Specify 'minimal' stats (use auto-roller)" },
#endif

#ifdef JP
	{ &delay_autoroll,              FALSE, 6, 6, 17,
	"delay_autoroll",               "オートローラーにウェイトを入れる" },
#else
	{ &delay_autoroll,              FALSE, 6, 6, 17,
	"delay_autoroll",               "Run auto-roller slowly" },
#endif

	/*** Object auto-destruction ***/

#ifdef JP
	{ &destroy_items,               TRUE, 7, 7, 0,
	"destroy_items",                "簡易自動破壊を使用する" },
#else
	{ &destroy_items,               TRUE, 7, 7, 0,
	"destroy_items",                "Auto-destroy known worthless items" },
#endif

#ifdef JP
	{ &destroy_feeling,             FALSE, 7, 7, 4,
	"destroy_feeling",              "簡易鑑定したとき簡易自動破壊を適用する" },
#else
	{ &destroy_feeling,             FALSE, 7, 7, 4,
	"destroy_feeling",              "Apply auto-destroy as sense feeling" },
#endif

#ifdef JP
	{ &destroy_identify,            FALSE, 7, 7, 5,
	"destroy_identify",             "鑑定したとき簡易自動破壊を適用する" },
#else
	{ &destroy_identify,            FALSE, 7, 7, 5,
	"destroy_identify",             "Apply auto-destroy as identify an item" },
#endif

#ifdef JP
	{ &leave_worth,                 TRUE, 7, 7, 1,
	"leave_worth",                  "価値のあるアイテムは壊さない" },
#else
	{ &leave_worth,                 TRUE, 7, 7, 1,
	"leave_worth",                  "Auto-destroyer leaves known worthy items" },
#endif

#ifdef JP
	{ &leave_equip,                 FALSE, 7, 7, 2,
	"leave_equip",                  "武器/防具は壊さない" },
#else
	{ &leave_equip,                 FALSE, 7, 7, 2,
	"leave_equip",                  "Auto-destroyer leaves weapons and armour" },
#endif

#ifdef JP
	{ &leave_chest,                 TRUE, 7, 7, 3,
	"leave_chest",                  "開封されていない箱は壊さない" },
#else
	{ &leave_chest,                 TRUE, 7, 7, 3,
	"leave_chest",                  "Auto-destroyer leaves closed chests" },
#endif

	/*** Difficulty ***/

#ifdef JP
	{ &flow_by_sound,               TRUE, 8, 1, 10,
	"flow_by_sound",                "モンスターは現在の位置を追跡する(超重い)" },
#else
	{ &flow_by_sound,               TRUE, 8, 1, 10,
	"flow_by_sound",                "Monsters chase current location (v.slow)" },
#endif

#ifdef JP
	{ &flow_by_smell,               TRUE, 8, 1, 11,
	"flow_by_smell",                "モンスターは最近の位置を追跡する(超重い)" },
#else
	{ &flow_by_smell,               TRUE, 8, 1, 11,
	"flow_by_smell",                "Monsters chase recent locations (v.slow)" },
#endif

#ifdef JP
	{ &smart_learn,                 FALSE, 8, 1, 14,
	"smart_learn",                  "モンスターは失敗を学習する" },
#else
	{ &smart_learn,                 FALSE, 8, 1, 14,
	"smart_learn",                  "Monsters learn from their mistakes" },
#endif

#ifdef JP
	{ &smart_cheat,                 FALSE, 8, 1, 15,
	"smart_cheat",                  "モンスターはプレイヤーの弱みを突く" },
#else
	{ &smart_cheat,                 FALSE, 8, 1, 15,
	"smart_cheat",                  "Monsters exploit players weaknesses" },
#endif

#ifdef JP
	{ &stupid_monsters,             FALSE, 8, 5, 2,
	"stupid_monsters",              "モンスターが間抜けな行動をとる" },
#else
	{ &stupid_monsters,             FALSE, 8, 5, 2,
	"stupid_monsters",              "Monsters behave stupidly" },
#endif

	/*** Auto-record ***/

#ifdef JP
	{ &dump_abilities,              TRUE, 9, 7, 30,
	"dump_abilities",               "銘のあるアイテムの能力をダンプに出力する" },
#else
	{ &dump_abilities,              TRUE, 9, 7, 30,
	"dump_abilities",               "Dump full information for all named items" },
#endif

#ifdef JP
	{ &dump_messages,              FALSE, 9, 7, 31,
	"dump_messages",               "メッセージログをダンプに出力する" },
#else
	{ &dump_messages,              FALSE, 9, 7, 31,
	"dump_messages",               "Record message logs to a character dump" },
#endif

#ifdef JP
	{ &take_notes,                  FALSE, 9, 7, 28,
	"take_notes",                   "プレイ状況をファイルに記録する" },
#else
	{ &take_notes,                  FALSE, 9, 7, 28,
	"take_notes",                   "Allow notes to be appended to a file" },
#endif

#ifdef JP
	{ &auto_notes,                  TRUE, 9, 7, 27,
	"auto_notes",                   "重要な出来事を記録する" },
#else
	{ &auto_notes,                  TRUE, 9, 7, 27,
	"auto_notes",                   "Automatically note important events" },
#endif

#ifdef JP
	{ &record_artifact,             TRUE, 9, 7, 26,
	"record_artifact",              "アーティファクトの入手を記録する" },
#else
	{ &record_artifact,             TRUE, 9, 7, 26,
	"record_artifact",              "Record artifacts found" },
#endif

#ifdef JP
	{ &record_randart,              TRUE, 9, 7, 25,
	"record_randart",               "ランダムアーティファクトの入手を記録する" },
#else
	{ &record_randart,              TRUE, 9, 7, 25,
	"record_randart",               "Record random artifacts found" },
#endif

#ifdef JP
	{ &record_unique,               TRUE, 9, 7, 24,
	"record_unique",                "ユニークモンスターを倒したとき記録する" },
#else
	{ &record_unique,               TRUE, 9, 7, 24,
	"record_unique",                "Record defeated unique monsters" },
#endif

#ifdef JP
	{ &record_quest,                TRUE, 9, 7, 23,
	"record_quest",                 "クエストを達成したとき記録する" },
#else
	{ &record_quest,                TRUE, 9, 7, 23,
	"record_quest",                 "Record completed quests" },
#endif

	/* Hitpoint waring */

	{ &prompt_hitpoint,             TRUE, 10, 2, 17,
#ifdef JP
	"prompt_hitpoint",               "低ヒットポイント時にクイックメッセージを無視する" },
#else
	"prompt_hitpoint",               "Ignore quick message when hitpoint warning" },
#endif

#ifdef JP
	{ &stop_more,                   FALSE, 10, 2, 14,
	"stop_more",                    "ダメージを受けた時にキー待ちを強制する" },
#else
	{ &stop_more,                   FALSE, 10, 2, 14,
	"stop_more",                    "Prompt -more- if you'll be damaged" },
#endif

	/*** Dead options ***/

#ifdef JP
	{ &show_inven_graph,            TRUE, 0, 2, 0,  /*日本語版変更*/
	"show_inven_graph",             "持ち物をグラフィクス表示する" },
#else
	{ &show_inven_graph,            TRUE, 0, 2, 0,
	"show_inven_graph",             "Show graphics in inventory list" },
#endif

#ifdef JP
	{ &show_equip_graph,            TRUE, 0, 2, 1,  /*日本語版変更*/
	"show_equip_graph",             "装備をグラフィクス表示する" },
#else
	{ &show_equip_graph,            TRUE, 0, 2, 1,
	"show_equip_graph",             "Show graphics in equipment list" },
#endif

#ifdef JP
	{ &show_store_graph,            TRUE, 0, 2, 2,  /*日本語版変更*/
	"show_store_graph",             "店の品物をグラフィクス表示する" },
#else
	{ &show_store_graph,            TRUE, 0, 2, 2,
	"show_store_graph",             "Show graphics in stores" },
#endif

#ifdef JP
	{ &show_details,                TRUE, 0, 0, 13,
	"show_details",                 "モンスターの思い出を詳しく表示する" },
#else
	{ &show_details,                TRUE, 0, 0, 13,
	"show_details",                 "Show details in certain sub-windows" },
#endif

#ifdef JP
	{ &small_levels,                TRUE, 0, 0, 30,
	"small_levels",                 "非常に小さいフロアの生成を可能にする" },
#else
	{ &small_levels,                TRUE, 0, 0, 30,
	"small_levels",                 "Allow unusually small dungeon levels" },
#endif

#ifdef JP
	{ &always_small_levels,         TRUE, 0, 2, 3,
	"always_small_levels",          "常に非常に小さいフロアを生成する" },
#else
	{ &always_small_levels,         TRUE, 0, 2, 3,
	"always_small_levels",          "Always create unusually small dungeon levels" },
#endif

#ifdef JP
	{ &empty_levels,                FALSE, 0, 0, 31,
	"empty_levels",                 "空っぽの「アリーナ」レベルの生成を可能にする" },
#else
	{ &empty_levels,                FALSE, 0, 0, 31,
	"empty_levels",                 "Allow empty 'arena' levels" },
#endif

#ifdef JP
	{ &ironman_small_levels,        FALSE, 0, 6, 3,
	"ironman_small_levels",         "（鉄人用）常に非常に小さいフロアを生成" },
#else
	{ &ironman_small_levels,        FALSE, 0, 6, 3,
	"ironman_small_levels",         "Always create unusually small dungeon levels" },
#endif

#ifdef JP
	{ &ironman_empty_levels,        FALSE, 0, 6, 8,
	"ironman_empty_levels",         "（鉄人用）常に空っぽのアリーナレベルを生成" },
#else
	{ &ironman_empty_levels,        FALSE, 0, 6, 8,
	"ironman_empty_levels",         "Always create empty 'arena' levels" },
#endif

#ifdef JP
	{ &munchkin_death,              FALSE, 0, 6, 11,
	"munchkin_death",               "（いんちき）死んだ時セーブするか確認する" },
#else
	{ &munchkin_death,              FALSE, 0, 6, 11,
	"munchkin_death",               "Ask for saving death" },
#endif

#ifdef JP
	{ &ironman_rooms,               FALSE, 0, 6, 12,
	"ironman_rooms",                "（鉄人用）常に普通でない部屋を生成する" },
#else
	{ &ironman_rooms,               FALSE, 0, 6, 12,
	"ironman_rooms",                "Always generate very unusual rooms" },
#endif

#ifdef JP
	{ &ironman_hengband,            TRUE, 0, 6, 19,
	"ironman_hengband",             "（鉄人用）様々なアビューズを使えなくする(未完成)" },
#else
	{ &ironman_hengband,            TRUE, 0, 6, 19,
	"ironman_hengband",               "Set monsters against some abuses." },
#endif


	/*** End of Table ***/

	{ NULL,                         0, 0, 0, 0,
	NULL,                           NULL }
};


/*
 * Table of game-generated inscriptions (indexed by the defines in
 * defines.h). -- RG
 */
cptr game_inscriptions[] =
{
	NULL,            /* FEEL_NONE */
#ifdef JP
	"壊れている",    /* FEEL_BROKEN */
	"恐ろしい",      /* FEEL_TERRIBLE */
	"無価値",        /* FEEL_WORTHLESS */
	"呪われている",  /* FEEL_CURSED */
	"上質以上",      /* FEEL_UNCURSED */
	"並",            /* FEEL_AVERAGE */
	"上質",          /* FEEL_GOOD */
	"高級品",        /* FEEL_EXCELLENT */
	"特別製",        /* FEEL_SPECIAL */
#else
	"broken",        /* FEEL_BROKEN */
	"terrible",      /* FEEL_TERRIBLE */
	"worthless",     /* FEEL_WORTHLESS */
	"cursed",        /* FEEL_CURSED */
	"uncursed",      /* FEEL_UNCURSED */
	"average",       /* FEEL_AVERAGE */
	"good",          /* FEEL_GOOD */
	"excellent",     /* FEEL_EXCELLENT */
	"special",       /* FEEL_SPECIAL */
#endif
};


#ifndef JP
/* Weird melee attack types when hallucinating */
cptr silly_attacks[MAX_SILLY_ATTACK] =
{
	"smothers",
	"hugs",
	"humiliates",
	"whips",
	"kisses",

	"disgusts",
	"pees all over",
	"passes the gas on",
	"makes obscene gestures at",
	"licks",

	"stomps on",
	"swallows",
	"drools on",
	"misses",
	"shrinks",

	"emasculates",
	"evaporates",
	"solidifies",
	"digitizes",
	"insta-kills",

	"massacres",
	"slaughters",
	"drugs",
	"psychoanalyzes",
	"deconstructs",

	"falsifies",
	"disbelieves",
	"molests"
};
#endif


/*
 * 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  */
};


valar_type valar_info[MAX_PATRON] =
{
	/* 風 */
	{_("マンウェ", "Manwe"), A_WIS,
	 {REW_SPEED, REW_GAIN_ABL, REW_GAIN_ABL, REW_GAIN_ABL, REW_AUGM_ABL}},
	/* 水 */
	{_("ウルモ", "Ulmo"), A_STR,
	 {REW_HERO, REW_RE_CURSE, REW_GAIN_ABL, REW_GAIN_ABL, REW_GREA_OBS}},
	/* 鍛冶 */
	{_("アウレ", "Aule"), A_STR,
	 {REW_HERO, REW_GREA_OBJ, REW_GREA_OBJ, REW_GREA_OBJ, REW_GREA_OBJ}},
	/* 狩人 */
	{_("オロメ", "Orome"), A_DEX,
	 {REW_SPEED, REW_SPEED, REW_ENLIGHT, REW_GREA_OBS, REW_AUGM_ABL}},
	/* 運命 */
	{_("マンドス", "Mandos"), A_CON,
	 {REW_RESTORE, REW_MASS_GEN, REW_GAIN_ABL, REW_AUGM_ABL, REW_GREA_OBJ}},
	/* 夢 */
	{_("イルモ", "Irmo"), A_INT,
	 {REW_BLESS, REW_BLESS, REW_BLESS, REW_BLESS, REW_WISHING}},
	/* 力 */
	{_("トゥルカス", "Tulkas"), A_STR,
	 {REW_HERO, REW_DISPEL_C, REW_GAIN_ABL, REW_GAIN_ABL, REW_AUGM_ABL}},
	/* 星(エルベレス) */
	{_("ヴァルダ", "Varda"), A_INT,
	 {REW_ENLIGHT, REW_PROTEVIL, REW_PROTEVIL, REW_GREA_OBS, REW_AUGM_ABL}},
	/* 大地 */
	{_("ヤヴァンナ", "Yavanna"), A_WIS,
	 {REW_RE_CURSE, REW_GAIN_ABL, REW_GAIN_ABL, REW_POTION, REW_GREA_OBJ}},
	/* 嘆き */
	{_("ニエンナ", "Nienna"), A_INT,
	 {REW_RE_CURSE, REW_RES_POTION, REW_GAIN_ABL, REW_GAIN_ABL, REW_GREA_OBS}},
	/* 癒し */
	{_("エステ", "Este"), A_CON,
	 {REW_RESTORE, REW_POTION, REW_POTION, REW_GAIN_ABL, REW_GREA_OBJ}},
	/* 織姫 */
	{_("ヴァイレ", "Vaire"), A_CHR,
	 {REW_BLESS, REW_GAIN_ABL, REW_POTION, REW_CLOTH, REW_AMULET}},
	/* 常若 */
	{_("ヴァーナ", "Vana"), A_CON,
	 {REW_RESTORE, REW_GAIN_ABL, REW_GAIN_ABL, REW_GAIN_ABL, REW_POTION}},
	/* 踊り */
	{_("ネスサ", "Nessa"), A_DEX,
	 {REW_SPEED, REW_SPEED, REW_POTION, REW_AUGM_ABL, REW_AMULET}},
};


/*
 * Define flags, levels, values of activations
 */
const activation_type activation_info[] =
{
	/* Bolts/Beams */
	{ "SUNLIGHT", ACT_SUNLIGHT, 10, 250, 101, {10, 0},
	  _("太陽光線", "beam of sunlight") },
	{ "BO_MISSILE", ACT_BO_MISSILE, 10, 250, 101, {2, 0},
	  _("マジック・ミサイル(2d6)", "magic missile (2d6)") },
	{ "BO_ELEC", ACT_BO_ELEC, 10, 250, 80, {5, 0},
	  _("サンダー・ボルト(4d8)", "lightning bolt (4d8)") },
	{ "BO_ACID", ACT_BO_ACID, 10, 250, 80, {6, 0},
	  _("アシッド・ボルト(5d8)", "acid bolt (5d8)") },
	{ "BO_COLD", ACT_BO_COLD, 10, 250, 80, {7, 0},
	  _("アイス・ボルト(6d8)", "frost bolt (6d8)") },
	{ "BO_FIRE", ACT_BO_FIRE, 10, 250, 80, {8, 0},
	  _("ファイア・ボルト(9d8)", "fire bolt (9d8)") },
	{ "BO_DRAIN", ACT_BO_DRAIN, 20, 750, 30, {15, 0},
	  _("生命力吸収(120)", "drain life (120)") },
	{ "BO_MANA", ACT_BO_MANA, 25, 1500, 30, {20, 0},
	  _("魔法の矢(150)", "a magical arrow (150)") },

	/* Balls */
	{ "BA_POIS", ACT_BA_POIS, 10, 300, 101, {4, 0},
	  _("悪臭雲(12)", "stinking cloud (12)") },
	{ "BA_ELEC_72", ACT_BA_ELEC_72, 15, 1000, 50, {12, 0},
	  _("サンダー・ボール(72)", "ball of lightning (72)") },
	{ "BA_ACID_72", ACT_BA_ACID_72, 15, 1000, 50, {12, 0},
	  _("アシッド・ボール(72)", "ball of acid (72)") },
	{ "BA_COLD_72", ACT_BA_COLD_72, 15, 1000, 50, {12, 0},
	  _("アイス・ボール(72)", "ball of cold (72)") },
	{ "BA_FIRE_72", ACT_BA_FIRE_72, 15, 1000, 50, {12, 0},
	  _("ファイア・ボール(72)", "ball of fire (72)") },
	{ "BA_ELEC_300", ACT_BA_ELEC_300, 25, 2500, 10, {40, 0},
	  _("巨大サンダー・ボール(250)", "ball of lightning (250)") },
	{ "BA_ACID_300", ACT_BA_ACID_300, 25, 2500, 10, {40, 0},
	  _("巨大アシッド・ボール(250)", "ball of acid (250)") },
	{ "BA_FIRE_300", ACT_BA_FIRE_300, 25, 2500, 10, {40, 0},
	  _("巨大ファイア・ボール(250)", "fire ball (250)") },
	{ "BA_COLD_300", ACT_BA_COLD_300, 25, 2500, 10, {40, 0},
	  _("巨大アイス・ボール(250)", "ball of cold (250)") },
	{ "BA_STAR", ACT_BA_STAR, 30, 2200, 10, {25, 0},
	  _("巨大スター・ボール(150)", "large star ball (150)") },
	{ "BA_DARK", ACT_BA_DARK, 30, 2200, 10, {30, 0},
	  _("暗黒の嵐(250)", "darkness storm (250)") },
	{ "BA_MANA", ACT_BA_MANA, 30, 2500, 10, {30, 0},
	  _("魔力の嵐(250)", "a mana storm (250)") },
	{ "BIZARRE", ACT_BIZARRE, 40, 10000, 0, {50, 0},
	  _("信じ難いこと", "bizarre things") },
	{ "STARLIGHT", ACT_STARLIGHT, 15, 2000, 20, {30, 0},
	  _("スター・ライト", "Star lights") },

	/* Dispell */
	{ "DISP_EVIL", ACT_DISP_EVIL, 20, 4000, 20, {50, 0},
	  _("邪悪退散(x5)", "dispel evil (x5)") },
	{ "PESTICIDE", ACT_PESTICIDE, 10, 500, 80, {10, 0},
	  _("害虫の駆除", "dispel small life") },
	{ "BLINDING_LIGHT", ACT_BLINDING_LIGHT, 20, 5000, 50, {40, 0},
	  _("眩しい光", "blinding light") },

	/* Offencive Effects */
	{ "AGGRAVATE", ACT_AGGRAVATE, 0, 100, 0, {0, 0},
	  _("モンスターを怒らせる", "aggravete monsters") },
	{ "TERROR", ACT_TERROR, 10, 2500, 80, {10, 0},
	  _("恐慌", "terror") },
	{ "CONFUSE", ACT_CONFUSE, 10, 500, 80, {10, 0},
	  _("パニック・モンスター", "confuse monster") },
	{ "SLEEP", ACT_SLEEP, 10, 750, 80, {15, 0},
	  _("周囲のモンスターを眠らせる", "sleep nearby monsters") },
	{ "TELE_AWAY", ACT_TELE_AWAY, 10, 2000, 70, {15, 0},
	  _("テレポート・アウェイ", "teleport away") },
	{ "BANISH_EVIL", ACT_BANISH_EVIL, 20, 2000, 30, {250, 0},
	  _("邪悪消滅", "banish evil") },
	{ "GENOCIDE", ACT_GENOCIDE, 40, 10000, 10, {500, 0},
	  _("抹殺", "genocide") },
	{ "MASS_GENO", ACT_MASS_GENO, 40, 10000, 5, {1000, 0},
	  _("周辺抹殺", "mass genocide") },

	/* Heals */
	{ "CURE_LW", ACT_CURE_LW, 10, 500, 101, {5, 0},
	  _("恐怖除去/体力回復(30)", "remove fear and heal 30 hp") },
	{ "CURE_MW", ACT_CURE_MW, 10, 750, 70, {30, 0},
	  _("癒し/傷回復(100)", "cure and heal 100") },
	{ "CURE_700", ACT_CURE_700, 30, 10000, 10, {250, 0},
	  _("体力回復(700)", "heal 700 hit points") },
	{ "REST_ALL", ACT_REST_ALL, 10, 15000, 20, {750, 0},
	  _("全ステータスと経験値復活", "restore stats and life levels") },
	{ "CURE_MANA_FULL", ACT_CURE_MANA, 20, 20000, 5, {777, 0},
	  _("魔力復活", "restore mana") },

	/* Enchant player */
	{ "HELO", ACT_HELO, 10, 500, 101, {30, 30},
	  _("士気高揚", "heroism") },
	{ "HELO_SPEED", ACT_HELO_SPEED, 20, 20000, 30, {100, 200},
	  _("士気高揚, スピード(期間 50+d50ターン)", "hero and +10 to speed (50)") },
	{ "BERSERK", ACT_BERSERK, 10, 800, 50, {75, 0},
	  _("狂戦士化(25+d25ターン)", "berserk (25+d25 turns)") },
	{ "SPEED", ACT_SPEED, 10, 15000, 50, {250, 0},
	  _("加速(期間 20+d20)", "speed (dur 20+d20)") },
	{ "PROT_EVIL", ACT_PROT_EVIL, 20, 5000, 10, {100, 0},
	  _("対邪悪結界(期間 3*レベル+d25)", "protect evil (dur level*3 + d25)") },
	{ "WRAITH", ACT_WRAITH, 40, 25000, 3, {1000, 0},
	  _("幽体化(期間 (レベル/2)+d(レベル/2))", "wraith form (dur level/2 + d(level/2))") },
	{ "INVULN", ACT_INVULN, 40, 25000, 3, {1000, 0},
	  _("無敵化(期間 8+d8)", "invulnerability (dur 8+d8)") },
	{ "RESIST_ELEC", ACT_RESIST_ELEC, 10, 2000, 80, {40, 40},
	  _("電撃への耐性(期間 20+d20)", "resist elec (dur 20+d20)") },
	{ "RESIST_ACID", ACT_RESIST_ACID, 10, 2000, 80, {40, 40},
	  _("酸への耐性(期間 20+d20)", "resist acid (dur 20+d20)") },
	{ "RESIST_FIRE", ACT_RESIST_FIRE, 10, 2000, 80, {40, 40},
	  _("火炎への耐性(期間 20+d20)", "resist fire (dur 20+d20)") },
	{ "RESIST_COLD", ACT_RESIST_COLD, 10, 2000, 80, {40, 40},
	  _("冷気への耐性(期間 20+d20)", "resist cold (dur 20+d20)") },
	{ "RESIST_POIS", ACT_RESIST_POIS, 10, 2000, 80, {40, 40},
	  _("毒への耐性(期間 20+d20)", "resist poison (dur 20+d20)") },
	{ "RESIST_ALL", ACT_RESIST_ALL, 10, 5000, 15, {111, 0},
	  _("全耐性(期間 20+d20)", "resist elements (dur 20+d20)") },
	{ "ESP", ACT_ESP, 10, 1500, 70, {100, 0},
	  _("テレパシー(期間 25+d30)", "telepathy (dur 25+d30)") },

	{ "LIGHT", ACT_LIGHT, 10, 150, 101, {10, 10},
	  _("イルミネーション", "light area (dam 2d15)") },
	{ "MAP_LIGHT", ACT_MAP_LIGHT, 10, 500, 50, {50, 50},
	  _("魔法の地図と光", "light (dam 2d15) & map area") },
	{ "DETECT_ALL", ACT_DETECT_ALL, 10, 1000, 50, {55, 55},
	  _("全感知", "detection") },
	{ "DETECT_UNIQUE", ACT_DETECT_UNIQUE, 40, 10000, 5, {200, 0},
	  _("この階にいるユニークモンスターを表示", "list of the uniques on the level") },
	{ "DETECT_XTRA", ACT_DETECT_XTRA, 20, 12500, 5, {100, 0},
	  _("全感知、探索、*鑑定*", "detection, probing and identify true") },
	{ "ID_FULL", ACT_ID_FULL, 10, 10000, 30, {75, 0},
	  _("*鑑定*", "identify true") },
	{ "ID_PLAIN", ACT_ID_PLAIN, 10, 1250, 70, {10, 0},
	  _("鑑定", "identify spell") },
	{ "RUNE_EXPLO", ACT_RUNE_EXPLO, 20, 4000, 30, {200, 0},
	  _("爆発のルーン", "explosive rune") },
	{ "RUNE_PROT", ACT_RUNE_PROT, 20, 10000, 10, {400, 0},
	  _("守りのルーン", "rune of protection") },
	{ "SATIATE", ACT_SATIATE, 10, 2000, 101, {200, 0},
	  _("空腹充足", "satisfy hunger") },
	{ "DEST_DOOR", ACT_DEST_DOOR, 20, 100, 101, {10, 0},
	  _("ドア破壊", "destroy doors") },
	{ "STONE_MUD", ACT_STONE_MUD, 10, 1000, 101, {3, 0},
	  _("岩石溶解", "stone to mud") },
	{ "RECHARGE", ACT_RECHARGE, 10, 1000, 70, {70, 0},
	  _("魔力充填", "recharging") },
	{ "ALCHEMY", ACT_ALCHEMY, 20, 10000, 70, {500, 0},
	  _("錬金術", "alchemy") },
	{ "PHASE_DOOR", ACT_PHASE_DOOR, 10, 1500, 101, {10, 0},
	  _("ショート・テレポート", "blink") },
	{ "TELEPORT", ACT_TELEPORT, 10, 2000, 101, {25, 0},
	  _("テレポート", "teleport") },
	{ "DIM_DOOR", ACT_DIM_DOOR, 20, 10000, 30, {100, 0},
	  _("次元の扉", "dimension door") },
	{ "RECALL", ACT_RECALL, 10, 7500, 80, {200, 0},
	  _("帰還の詔", "word of recall") },
	{ "ARKENSTONE", ACT_ARKENSTONE, 20, 50000, 1, {20, 20},
	  _("体力と引き替えに千里眼と帰還", "a telekinesis (500 lb)") },
	{ "TELEKINESIS", ACT_TELEKINESIS, 10, 5500, 80, {25, 25},
	  _("物体を引き寄せる(重量25kgまで)", "clairvoyance and recall, draining you") },
	{ "BRAND_FIRE_BOLTS", ACT_BRAND_FIRE_BOLTS, 20, 20000, 0, {999, 0},
	  _("刃先のファイア・ボルト", "fire branding of bolts") },
	{ "QUAKE", ACT_QUAKE, 10, 600, 101, {20, 0},
	  _("地震", "earthquake") },
	{ "DETECT_MONSTERS", ACT_DETECT_MONSTERS, 10, 1000, 70, {10, 10},
	  _("モンスター感知", "detect monsters") },

	{ NULL, 0, 0, 0, 101, {0, 0},
	  "" }
};
