From decwrl!wyse!mips!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!uwm.edu!ogicse!zephyr.ens.tek.com!tekred!saab!billr Sat May 19 10:38:58 PDT 1990
Article 882 of comp.sources.games:
Path: decwrl!wyse!mips!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!uwm.edu!ogicse!zephyr.ens.tek.com!tekred!saab!billr
From: billr@saab.CNA.TEK.COM (Bill Randle)
Newsgroups: comp.sources.games
Subject: v09i063:  umoria3 - single player dungeon simulation (ver. 5.2), Part08/31
Message-ID: <5594@tekred.CNA.TEK.COM>
Date: 16 May 90 19:14:19 GMT
Sender: news@tekred.CNA.TEK.COM
Lines: 1194
Approved: billr@saab.CNA.TEK.COM

Submitted-by: wilson@ernie.Berkeley.EDU (Jim Wilson)
Posting-number: Volume 9, Issue 63
Archive-name: umoria3/Part08
Supersedes: umoria2: Volume 5, Issue 32-37,41-52,87



#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 8 (of 31)."
# Contents:  mac/macconf.c source/treasure.c
# Wrapped by billr@saab on Wed May 16 11:54:19 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'mac/macconf.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mac/macconf.c'\"
else
echo shar: Extracting \"'mac/macconf.c'\" \(3988 characters\)
sed "s/^X//" >'mac/macconf.c' <<'END_OF_FILE'
X#include <Types.h>
X#include <Quickdraw.h>
X#include <Controls.h>
X#include <Dialogs.h>
X
X#include <ScrnMgr.h>
X
X#include "constant.h"
X
X#define rogueFlag				'-r\0\0'
X#define originalFlag			'-o\0\0'
X
X#define cmdsetDlgID				256
X#define cmdsetRogue				3
X#define cmdsetOriginal			4
X#define cmdsetGrpRect			6
X#define cmdsetDfltBrdr			8
X
X#define teDlgID					257
X#define teFCFirst				3
X#define teFCLast				5
X#define teFCCount				(teFCLast - teFCFirst + 1)
X#define teFCOther				6
X#define teGrpRect				8
X#define teDfltBrdr				10
X
Xint GetCommandSet(hndl)
Xint **hndl;
X
X{
X	DialogPtr theDialog;
X	short theItem;
X	Handle theHandle;
X	short itemHit;
X	short itsType;
X	Handle itsHandle;
X	Rect itsRect;
X	int h, v;
X	
X	theDialog = GetNewDialog(cmdsetDlgID, nil, (WindowPtr) -1);
X	
X	CenterScreenDLOG(cmdsetDlgID, fixHalf, fixThird, &h, &v);
X	MoveWindow((WindowPtr) theDialog, (short) h, (short) v, false);
X
X	GetDItem(theDialog, ok, &itsType, &itsHandle, &itsRect);
X	InsetRect(&itsRect, -4, -4);
X	
X	SetDItem(theDialog, cmdsetDfltBrdr, userItem, (Handle) DrawDefaultBorder, &itsRect);
X	
X	GetDItem(theDialog, cmdsetGrpRect, &itsType, &itsHandle, &itsRect);
X	SetDItem(theDialog, cmdsetGrpRect, itsType, (Handle) DrawGroupRect, &itsRect);
X	
X	theItem = (**hndl == originalFlag) ? cmdsetOriginal : cmdsetRogue;
X	GetDItem(theDialog, theItem, &itsType, &theHandle, &itsRect);
X	SetCtlValue((ControlHandle) theHandle, true);
X	
X	ShowWindow((WindowPtr) theDialog);
X	
X	do {
X		ModalDialog(nil, &itemHit);
X		if ( (itemHit != theItem) && ((itemHit == cmdsetOriginal) || (itemHit == cmdsetRogue)) ) {
X			SetCtlValue((ControlHandle) theHandle, false);
X			theItem = itemHit;
X			GetDItem(theDialog, theItem, &itsType, &theHandle, &itsRect);
X			SetCtlValue((ControlHandle) theHandle, true);
X		}
X	} while ( (itemHit != ok) && (itemHit != cancel) );
X	
X	if (itemHit == ok)
X		**hndl = (theItem == cmdsetOriginal) ? originalFlag : rogueFlag;
X	
X	DisposDialog(theDialog);
X	
X	return(itemHit == ok);
X}
X
Xint GetTextEditor(hndl)
Xint **hndl;
X
X{
X	DialogPtr theDialog;
X	short theItem;
X	Handle theHandle, fcHandle;
X	short itemHit;
X	short itsType;
X	Handle itsHandle;
X	Rect itsRect;
X	int h, v;
X	char *p, *q;
X	Str255 fc;
X	static int editors[teFCCount-1] = { 'MACA', 'MSWD' };
X	
X	theDialog = GetNewDialog(teDlgID, nil, (WindowPtr) -1);
X	
X	CenterScreenDLOG(teDlgID, fixHalf, fixThird, &h, &v);
X	MoveWindow((WindowPtr) theDialog, (short) h, (short) v, false);
X
X	GetDItem(theDialog, ok, &itsType, &itsHandle, &itsRect);
X	InsetRect(&itsRect, -4, -4);
X	
X	SetDItem(theDialog, teDfltBrdr, userItem, (Handle) DrawDefaultBorder, &itsRect);
X	
X	GetDItem(theDialog, teGrpRect, &itsType, &itsHandle, &itsRect);
X	SetDItem(theDialog, teGrpRect, itsType, (Handle) DrawGroupRect, &itsRect);
X	
X	GetDItem(theDialog, teFCOther, &itsType, &fcHandle, &itsRect);
X	
X	for (theItem = 0; theItem < teFCCount-1; theItem++)
X		if (**hndl == editors[theItem])
X			break;
X			
X	theItem += teFCFirst;
X	GetDItem(theDialog, theItem, &itsType, &theHandle, &itsRect);
X	SetCtlValue((ControlHandle) theHandle, true);
X	
X	if (theItem == teFCLast) {
X		p = fc;
X		q = (char *) *hndl;
X		*p++ = 4;
X		*p++ = *q++;
X		*p++ = *q++;
X		*p++ = *q++;
X		*p = *q;
X		SetIText(fcHandle, fc);
X	}
X	
X	ShowWindow((WindowPtr) theDialog);
X	
X	do {
X	
X		do {
X			ModalDialog(nil, &itemHit);
X			if ( (itemHit != theItem) && (itemHit >= teFCFirst) && (itemHit <= teFCLast) ) {
X				SetCtlValue((ControlHandle) theHandle, false);
X				theItem = itemHit;
X				GetDItem(theDialog, theItem, &itsType, &theHandle, &itsRect);
X				SetCtlValue((ControlHandle) theHandle, true);
X			}
X		} while ( (itemHit != ok) && (itemHit != cancel) );
X		
X		if (itemHit == ok) {
X			if (theItem != teFCLast)
X				**hndl = editors[theItem - teFCFirst];
X			else {
X				GetIText(fcHandle, fc);
X				p = (char *) *hndl;
X				q = fc + 1;
X				*p++ = (fc[0] > 0) ? *q++ : ' ';
X				*p++ = (fc[0] > 1) ? *q++ : ' ';
X				*p++ = (fc[0] > 2) ? *q++ : ' ';
X				*p = (fc[0] > 3) ? *q : ' ';
X			}
X		}
X		
X	} while (!ok);
X	
X	DisposDialog(theDialog);
X	
X	return(itemHit == ok);
X}
END_OF_FILE
if test 3988 -ne `wc -c <'mac/macconf.c'`; then
    echo shar: \"'mac/macconf.c'\" unpacked with wrong size!
fi
# end of 'mac/macconf.c'
fi
if test -f 'source/treasure.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'source/treasure.c'\"
else
echo shar: Extracting \"'source/treasure.c'\" \(52471 characters\)
sed "s/^X//" >'source/treasure.c' <<'END_OF_FILE'
X/* treasur1.c: dungeon object definitions
X
X   Copyright (c) 1989 James E. Wilson, Robert A. Koeneke
X
X   This software may be copied and distributed for educational, research, and
X   not for profit purposes provided that this copyright and statement are
X   included in all such copies. */
X
X#include "constant.h"
X#include "config.h"
X#include "types.h"
X
X/* Following are treasure arrays	and variables			*/
X
X/* Object description:	Objects are defined here.  Each object has
X  the following attributes:
X	Descriptor : Name of item and formats.
X		& is replaced with 'a', 'an', or a number.
X		~ is replaced with null or 's'.
X	Character  : Character that represents the item.
X	Type value : Value representing the type of object.
X	Sub value  : separate value for each item of a type.
X		0 - 63: object can not stack
X		64 - 127: dungeon object, can stack with other D object
X		128 - 191: unused, previously for store items
X		192: stack with other iff have same p1 value, always
X			treated as individual objects
X		193 - 255: object can stack with others iff they have
X			the same p1 value, usually considered one group
X		Objects which have two type values, e.g. potions and
X		scrolls, need to have distinct subvals for
X		each item regardless of its tval
X	Damage	   : amount of damage item can cause.
X	Weight	   : relative weight of an item.
X	Number	   : number of items appearing in group.
X	To hit	   : magical plusses to hit.
X	To damage  : magical plusses to damage.
X	AC	   : objects relative armor class.
X		1 is worse than 5 is worse than 10 etc.
X	To AC	   : Magical bonuses to AC.
X	P1	   : Catch all for magical abilities such as
X		     plusses to strength, minuses to searching.
X	Flags	   : Abilities of object.  Each ability is a
X		     bit.  Bits 1-31 are used. (Signed integer)
X	Level	   : Minimum level on which item can be found.
X	Cost	   : Relative cost of item.
X
X	Special Abilities can be added to item by magic_init(),
X	found in misc.c.
X
X	Scrolls, Potions, and Food:
X	Flags is used to define a function which reading/quaffing
X	will cause.  Most scrolls and potions have only one bit
X	set.  Potions will generally have some food value, found
X	in p1.
X
X	Wands and Staffs:
X	Flags defines a function, p1 contains number of charges
X	for item.  p1 is set in magic_init() in misc.c.
X
X	Chests:
X	Traps are added randomly by magic_init() in misc.c.	*/
X
X/* Object list (All objects must be defined here)		 */
X
X#ifdef MACGAME
Xtreasure_type *object_list;
X#else
Xtreasure_type object_list[MAX_OBJECTS] = {
X/* Dungeon items from 0 to MAX_DUNGEON_OBJ */
X{"Poison"			,0x00000001L,	TV_FOOD, ',',	/*  0*/
X  500,	   0,	64,   1,   1,	0,   0,	 0,   0, {0,0}	,  7},
X{"Blindness"			,0x00000002L,	TV_FOOD, ',',	/*  1*/
X  500,	   0,	65,   1,   1,	0,   0,	 0,   0, {0,0}	,  9},
X{"Paranoia"			,0x00000004L,	TV_FOOD, ',',	/*  2*/
X  500,	   0,	66,   1,   1,	0,   0,	 0,   0, {0,0}	,  9},
X{"Confusion"			,0x00000008L,	TV_FOOD, ',',	/*  3*/
X  500,	   0,	67,   1,   1,	0,   0,	 0,   0, {0,0}	,  7},
X{"Hallucination"		,0x00000010L,	TV_FOOD, ',',	/*  4*/
X  500,	   0,	68,   1,   1,	0,   0,	 0,   0, {0,0}	, 13},
X{"Cure Poison"			,0x00000020L,	TV_FOOD, ',',	/*  5*/
X  500,	  60,	69,   1,   1,	0,   0,	 0,   0, {0,0}	,  8},
X{"Cure Blindness"		,0x00000040L,	TV_FOOD, ',',	/*  6*/
X  500,	  50,	70,   1,   1,	0,   0,	 0,   0, {0,0}	, 10},
X{"Cure Paranoia"		,0x00000080L,	TV_FOOD, ',',	/*  7*/
X  500,	  25,	71,   1,   1,	0,   0,	 0,   0, {0,0}	, 12},
X{"Cure Confusion"		,0x00000100L,	TV_FOOD, ',',	/*  8*/
X  500,	  50,	72,   1,   1,	0,   0,	 0,   0, {0,0}	,  6},
X{"Weakness"			,0x04000200L,	TV_FOOD, ',',	/*  9*/
X  500,	   0,	73,   1,   1,	0,   0,	 0,   0, {0,0}	,  7},
X{"Unhealth"			,0x04000400L,	TV_FOOD, ',',	/* 10*/
X  500,	  50,	74,   1,   1,	0,   0,	 0,   0, {10,10}, 15},
X{"Restore Constitution"		,0x00010000L,	TV_FOOD, ',',	/* 11*/
X  500,	 350,	75,   1,   1,	0,   0,	 0,   0, {0,0}	, 20},
X{"First-Aid"			,0x00200000L,	TV_FOOD, ',',	/* 12*/
X  500,	   5,	76,   1,   1,	0,   0,	 0,   0, {0,0}	,  6},
X{"Minor Cures"			,0x00400000L,	TV_FOOD, ',',	/* 13*/
X  500,	  20,	77,   1,   1,	0,   0,	 0,   0, {0,0}	,  7},
X{"Light Cures"			,0x00800000L,	TV_FOOD, ',',	/* 14*/
X  500,	  30,	78,   1,   1,	0,   0,	 0,   0, {0,0}	, 10},
X{"Restoring"			,0x001F8040L,	TV_FOOD, ',',	/* 15*/
X  500,	1000,	79,   1,   1,	0,   0,	 0,   0, {0,0}	, 30},
X{"Poison"			,0x00000001L,	TV_FOOD, ',',	/* 16*/
X 1200,	   0,	80,   1,   1,	0,   0,	 0,   0, {0,0}	, 15},
X{"Hallucinations"		,0x00000010L,	TV_FOOD, ',',	/* 17*/
X 1200,	   0,	81,   1,   1,	0,   0,	 0,   0, {0,0}	, 18},
X{"Cure Poison"			,0x00000020L,	TV_FOOD, ',',	/* 18*/
X 1200,	  75,	82,   1,   1,	0,   0,	 0,   0, {0,0}	, 19},
X{"Unhealth"			,0x00000400L,	TV_FOOD, ',',	/* 19*/
X 1200,	  25,	83,   1,   1,	0,   0,	 0,   0, {6,8}	, 28},
X{"Cure Serious Wounds"		,0x02000000L,	TV_FOOD, ',',	/* 20*/
X 1200,	  75,	84,   1,   2,	0,   0,	 0,   0, {0,0}	, 16},
X{"& Ration~ of Food"		,0x00000000L,	TV_FOOD, ',',	/* 21*/
X 5000,	   3,	90,   1,  10,	0,   0,	 0,   0, {0,0}	,  0},
X{"& Ration~ of Food"		,0x00000000L,	TV_FOOD, ',',	/* 22*/
X 5000,	   3,	90,   1,  10,	0,   0,	 0,   0, {0,0}	,  5},
X{"& Ration~ of Food"		,0x00000000L,	TV_FOOD, ',',	/* 23*/
X 5000,	   3,	90,   1,  10,	0,   0,	 0,   0, {0,0}	, 10},
X{"& Slime Mold~"		,0x00000000L,	TV_FOOD, ',',	/* 24*/
X 3000,	   2,	91,   1,   5,	0,   0,	 0,   0, {0,0}	,  1},
X{"& Piece~ of Elvish Waybread"	,0x02000020L,	TV_FOOD, ',',	/* 25*/
X 7500,	  10,	92,   1,   3,	0,   0,	 0,   0, {0,0}	,  6},
X{"& Piece~ of Elvish Waybread"	,0x02000020L,	TV_FOOD, ',',	/* 26*/
X 7500,	  10,	92,   1,   3,	0,   0,	 0,   0, {0,0}	, 12},
X{"& Piece~ of Elvish Waybread"	,0x02000020L,	TV_FOOD, ',',	/* 27*/
X 7500,	  10,	92,   1,   3,	0,   0,	 0,   0, {0,0}	, 20},
X{"& Dagger (Main Gauche)"	,0x00000000L,	TV_SWORD, '|',	/* 28*/
X    0,	  25,	1,   1,  30,	0,   0,	 0,   0, {1,5}	,  2},
X{"& Dagger (Misericorde)"	,0x00000000L,	TV_SWORD, '|',	/* 29*/
X    0,	  10,	2,   1,  15,	0,   0,	 0,   0, {1,4}	,  0},
X{"& Dagger (Stiletto)"		,0x00000000L,	TV_SWORD, '|',	/* 30*/
X    0,	  10,	3,   1,  12,	0,   0,	 0,   0, {1,4}	,  0},
X{"& Dagger (Bodkin)"		,0x00000000L,	TV_SWORD, '|',	/* 31*/
X    0,	  10,	4,   1,  20,	0,   0,	 0,   0, {1,4}	,  1},
X{"& Broken dagger"		,0x00000000L,	TV_SWORD, '|',	/* 32*/
X    0,	   0,	5,   1,  15,  -2,  -2,	 0,   0, {1,1}	,  0},
X{"& Backsword"			,0x00000000L,	TV_SWORD, '|',	/* 33*/
X    0,	  60,	6,   1,  95,	0,   0,	 0,   0, {1,9}	,  7},
X{"& Bastard Sword"		,0x00000000L,	TV_SWORD, '|',	/* 34*/
X    0,	 350,	7,   1, 140,	0,   0,	 0,   0, {3,4}	, 14},
X{"& Thrusting Sword (Bilbo)"	,0x00000000L,	TV_SWORD, '|',	/* 35*/
X    0,	  60,	8,   1,  80,	0,   0,	 0,   0, {1,6}	,  4},
X{"& Thrusting Sword (Baselard)"	,0x00000000L,	TV_SWORD, '|',	/* 36*/
X    0,	  80,	9,   1, 100,	0,   0,	 0,   0, {1,7}	,  5},
X{"& Broadsword"			,0x00000000L,	TV_SWORD, '|',	/* 37*/
X    0,	 255,	10,   1, 150,	0,   0,	 0,   0, {2,5}	,  9},
X{"& Two-Handed Sword (Claymore)",0x00000000L,	TV_SWORD, '|',	/* 38*/
X    0,	 775,	11,   1, 200,	0,   0,	 0,   0, {3,6}	, 30},
X{"& Cutlass"			,0x00000000L,	TV_SWORD, '|',	/* 39*/
X    0,	  85,	12,   1, 110,	0,   0,	 0,   0, {1,7}	,  7},
X{"& Two-Handed Sword (Espadon)"	,0x00000000L,	TV_SWORD, '|',	/* 40*/
X    0,	 655,	13,   1, 180,	0,   0,	 0,   0, {3,6}	, 35},
X{"& Executioner's Sword"	,0x00000000L,	TV_SWORD, '|',	/* 41*/
X    0,	 850,	14,   1, 260,	0,   0,	 0,   0, {4,5}	, 40},
X{"& Two-Handed Sword (Flamberge)",0x00000000L,	TV_SWORD, '|',	/* 42*/
X    0,	1000,	15,   1, 240,	0,   0,	 0,   0, {4,5}	, 45},
X{"& Foil"			,0x00000000L,	TV_SWORD, '|',	/* 43*/
X    0,	  35,	16,   1,  30,	0,   0,	 0,   0, {1,5}	,  2},
X{"& Katana"			,0x00000000L,	TV_SWORD, '|',	/* 44*/
X    0,	 400,	17,   1, 120,	0,   0,	 0,   0, {3,4}	, 18},
X{"& Longsword"			,0x00000000L,	TV_SWORD, '|',	/* 45*/
X    0,	 300,	18,   1, 130,	0,   0,	 0,   0, {1,10} , 12},
X{"& Two-Handed Sword (No-Dachi)",0x00000000L,	TV_SWORD, '|',	/* 46*/
X    0,	 675,	19,   1, 200,	0,   0,	 0,   0, {4,4}	, 45},
X{"& Rapier"			,0x00000000L,	TV_SWORD, '|',	/* 47*/
X    0,	  42,	20,   1,  40,	0,   0,	 0,   0, {1,6}	,  4},
X{"& Sabre"			,0x00000000L,	TV_SWORD, '|',	/* 48*/
X    0,	  50,	21,   1,  50,	0,   0,	 0,   0, {1,7}	,  5},
X{"& Small Sword"		,0x00000000L,	TV_SWORD, '|',	/* 49*/
X    0,	  48,	22,   1,  75,	0,   0,	 0,   0, {1,6}	,  5},
X{"& Two-Handed Sword (Zweihander)",0x00000000L,	TV_SWORD, '|',	/* 50*/
X    0,	1000,	23,   1, 280,	0,   0,	 0,   0, {4,6}	, 50},
X{"& Broken sword"		,0x00000000L,	TV_SWORD, '|',	/* 51*/
X    0,	   0,	24,   1,  75,  -2,  -2,	 0,   0, {1,1}	,  0},
X{"& Ball and Chain"		,0x00000000L,	TV_HAFTED, '\\',/* 52*/
X    0,	 200,	1,   1, 150,	0,   0,	 0,   0, {2,4}	, 20},
X{"& Cat-O-Nine Tails"		,0x00000000L,	TV_HAFTED, '\\',/* 53*/
X    0,	  14,	2,   1,  40,	0,   0,	 0,   0, {1,4}	,  3},
X{"& Wooden Club"		,0x00000000L,	TV_HAFTED, '\\',/* 54*/
X    0,	  10,	3,   1, 100,	0,   0,	 0,   0, {1,3}	,  0},
X{"& Flail"			,0x00000000L,	TV_HAFTED, '\\',/* 55*/
X    0,	 353,	4,   1, 150,	0,   0,	 0,   0, {2,6}	, 12},
X{"& Two-Handed Great Flail"	,0x00000000L,	TV_HAFTED, '\\',/* 56*/
X    0,	 590,	5,   1, 280,	0,   0,	 0,   0, {3,6}	, 45},
X{"& Morningstar"		,0x00000000L,	TV_HAFTED, '\\',/* 57*/
X    0,	 396,	6,   1, 150,	0,   0,	 0,   0, {2,6}	, 10},
X{"& Mace"			,0x00000000L,	TV_HAFTED, '\\',/* 58*/
X    0,	 130,	7,   1, 120,	0,   0,	 0,   0, {2,4}	,  6},
X{"& War Hammer"			,0x00000000L,	TV_HAFTED, '\\',/* 59*/
X    0,	 225,	8,   1, 120,	0,   0,	 0,   0, {3,3}	,  5},
X{"& Mace (Lead-filled)"		,0x00000000L,	TV_HAFTED, '\\',/* 60*/
X    0,	 502,	9,   1, 180,	0,   0,	 0,   0, {3,4}	, 15},
X{"& Awl-Pike"			,0x00000000L,	TV_POLEARM, '/',/* 61*/
X    0,	 340,	1,   1, 160,	0,   0,	 0,   0, {1,8}	,  8},
X{"& Beaked Axe"			,0x00000000L,	TV_POLEARM, '/',/* 62*/
X    0,	 408,	2,   1, 180,	0,   0,	 0,   0, {2,6}	, 15},
X{"& Fauchard"			,0x00000000L,	TV_POLEARM, '/',/* 63*/
X    0,	 376,	3,   1, 170,	0,   0,	 0,   0, {1,10} , 17},
X{"& Glaive"			,0x00000000L,	TV_POLEARM, '/',/* 64*/
X    0,	 363,	4,   1, 190,	0,   0,	 0,   0, {2,6}	, 20},
X{"& Halberd"			,0x00000000L,	TV_POLEARM, '/',/* 65*/
X    0,	 430,	5,   1, 190,	0,   0,	 0,   0, {3,4}	, 22},
X{"& Lucerne Hammer"		,0x00000000L,	TV_POLEARM, '/',/* 66*/
X    0,	 376,	6,   1, 120,	0,   0,	 0,   0, {2,5}	, 11},
X{"& Pike"			,0x00000000L,	TV_POLEARM, '/',/* 67*/
X    0,	 358,	7,   1, 160,	0,   0,	 0,   0, {2,5}	, 15},
X{"& Spear"			,0x00000000L,	TV_POLEARM, '/',/* 68*/
X    0,	  36,	8,   1,  50,	0,   0,	 0,   0, {1,6}	,  5},
X{"& Lance"			,0x00000000L,	TV_POLEARM, '/',/* 69*/
X    0,	 230,	9,   1, 300,	0,   0,	 0,   0, {2,8}	, 10},
X{"& Javelin"			,0x00000000L,	TV_POLEARM, '/',/* 70*/
X    0,	  18,	10,   1,  30,	0,   0,	 0,   0, {1,4}	,  4},
X{"& Battle Axe (Balestarius)"	,0x00000000L,	TV_POLEARM, '/',/* 71*/
X    0,	 500,	11,   1, 180,	0,   0,	 0,   0, {2,8}	, 30},
X{"& Battle Axe (European)"	,0x00000000L,	TV_POLEARM, '/',/* 72*/
X    0,	 334,	12,   1, 170,	0,   0,	 0,   0, {3,4}	, 13},
X{"& Broad Axe"			,0x00000000L,	TV_POLEARM, '/',/* 73*/
X    0,	 304,	13,   1, 160,	0,   0,	 0,   0, {2,6}	, 17},
X{"& Short Bow"			,0x00000000L,	TV_BOW, '}',	/* 74*/
X    2,	  50,	1,   1,  30,	0,   0,	 0,   0, {0,0}	,  3},
X{"& Long Bow"			,0x00000000L,	TV_BOW, '}',	/* 75*/
X    3,	 120,	2,   1,  40,	0,   0,	 0,   0, {0,0}	, 10},
X{"& Composite Bow"		,0x00000000L,	TV_BOW, '}',	/* 76*/
X    4,	 240,	3,   1,  40,	0,   0,	 0,   0, {0,0}	, 40},
X{"& Light Crossbow"		,0x00000000L,	TV_BOW, '}',	/* 77*/
X    5,	 140,	10,   1, 110,	0,   0,	 0,   0, {0,0}	, 15},
X{"& Heavy Crossbow"		,0x00000000L,	TV_BOW, '}',	/* 78*/
X    6,	 300,	11,   1, 200,	0,   0,	 0,   0, {1,1}	, 30},
X{"& Sling"			,0x00000000L,	TV_BOW, '}',	/* 79*/
X    1,	   5,	20,   1,   5,	0,   0,	 0,   0, {0,0}	,  1},
X{"& Arrow~"			,0x00000000L,	TV_ARROW, '{',	/* 80*/
X    0,	   1, 193,   1,   2,	0,   0,	 0,   0, {1,4}	,  2},
X{"& Bolt~"			,0x00000000L,	TV_BOLT, '{',	/* 81*/
X    0,	   2, 193,   1,   3,	0,   0,	 0,   0, {1,5}	,  2},
X{"& Rounded Pebble~"		,0x00000000L,	TV_SLING_AMMO, '{',/* 82*/
X    0,	   1, 193,   1,   4,	0,   0,	 0,   0, {1,2}	,  0},
X{"& Iron Shot~"			,0x00000000L,	TV_SLING_AMMO, '{',/* 83*/
X    0,	   2, 194,   1,   5,	0,   0,	 0,   0, {1,3}	,  3},
X{"& Iron Spike~"		,0x00000000L,	TV_SPIKE, '~',	/* 84*/
X    0,	   1, 193,   1,  10,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Brass Lantern~"		,0x00000000L,	TV_LIGHT, '~',	/* 85*/
X 7500,	  35,	1,   1,  50,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Wooden Torch~"		,0x00000000L,	TV_LIGHT, '~',	/* 86*/
X 4000,	   2, 193,   1,  30,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Orcish Pick"		,0x20000000L,	TV_DIGGING, '\\',/* 87*/
X    2,	 500,	2,   1, 180,	0,   0,	 0,   0, {1,3}	, 20},
X{"& Dwarven Pick"	       ,0x20000000L,	TV_DIGGING, '\\',/* 88*/
X    3,	1200,	3,   1, 200,	0,   0,	 0,   0, {1,4}	, 50},
X{"& Gnomish Shovel"		,0x20000000L,	TV_DIGGING, '\\',/* 89*/
X    1,	 100,	5,   1,  50,	0,   0,	 0,   0, {1,2}	, 20},
X{"& Dwarven Shovel"		,0x20000000L,	TV_DIGGING, '\\',/* 90*/
X    2,	 250,	6,   1, 120,	0,   0,	 0,   0, {1,3}	, 40},
X{"& Pair of Soft Leather Shoes"	,0x00000000L,	TV_BOOTS, ']',	/* 91*/
X    0,	   4,	1,   1,   5,	0,   0,	 1,   0, {0,0}	,  1},
X{"& Pair of Soft Leather Boots"	,0x00000000L,	TV_BOOTS, ']',	/* 92*/
X    0,	   7,	2,   1,  20,	0,   0,	 2,   0, {1,1}	,  4},
X{"& Pair of Hard Leather Boots"	,0x00000000L,	TV_BOOTS, ']',	/* 93*/
X    0,	  12,	3,   1,  40,	0,   0,	 3,   0, {1,1}	,  6},
X{"& Soft Leather Cap"		,0x00000000L,	TV_HELM, ']',	/* 94*/
X    0,	   4,	1,   1,  10,	0,   0,	 1,   0, {0,0}	,  2},
X{"& Hard Leather Cap"		,0x00000000L,	TV_HELM, ']',	/* 95*/
X    0,	  12,	2,   1,  15,	0,   0,	 2,   0, {0,0}	,  4},
X{"& Metal Cap"			,0x00000000L,	TV_HELM, ']',	/* 96*/
X    0,	  30,	3,   1,  20,	0,   0,	 3,   0, {1,1}	,  7},
X{"& Iron Helm"			,0x00000000L,	TV_HELM, ']',	/* 97*/
X    0,	  75,	4,   1,  75,	0,   0,	 5,   0, {1,3}	, 20},
X{"& Steel Helm"			,0x00000000L,	TV_HELM, ']',	/* 98*/
X    0,	 200,	5,   1,  60,	0,   0,	 6,   0, {1,3}	, 40},
X{"& Silver Crown"		,0x00000000L,	TV_HELM, ']',	/* 99*/
X    0,	 500,	6,   1,  20,	0,   0,	 0,   0, {1,1}	, 44},
X{"& Golden Crown"		,0x00000000L,	TV_HELM, ']',	/*100*/
X    0,	1000,	7,   1,  30,	0,   0,	 0,   0, {1,1}	, 47},
X{"& Jewel-Encrusted Crown"	,0x00000000L,	TV_HELM, ']',	/*101*/
X    0,	2000,	8,   1,  40,	0,   0,	 0,   0, {1,1}	, 50},
X{"& Robe"			,0x00000000L,	TV_SOFT_ARMOR, '(',/*102*/
X    0,	   4,	1,   1,  20,	0,   0,	 2,   0, {0,0}	,  1},
X{"Soft Leather Armor"		,0x00000000L,	TV_SOFT_ARMOR, '(',/*103*/
X    0,	  18,	2,   1,  80,	0,   0,	 4,   0, {0,0}	,  2},
X{"Soft Studded Leather"		,0x00000000L,	TV_SOFT_ARMOR, '(',/*104*/
X    0,	  35,	3,   1,  90,	0,   0,	 5,   0, {1,1}	,  3},
X{"Hard Leather Armor"		,0x00000000L,	TV_SOFT_ARMOR, '(',/*105*/
X    0,	  55,	4,   1, 100,  -1,   0,	 6,   0, {1,1}	,  5},
X{"Hard Studded Leather"		,0x00000000L,	TV_SOFT_ARMOR, '(',/*106*/
X    0,	 100,	5,   1, 110,  -1,   0,	 7,   0, {1,2}	,  7},
X{"Woven Cord Armor"		,0x00000000L,	TV_SOFT_ARMOR, '(',/*107*/
X    0,	  45,	6,   1, 150,  -1,   0,	 6,   0, {0,0}	,  7},
X{"Soft Leather Ring Mail"	,0x00000000L,	TV_SOFT_ARMOR, '(',/*108*/
X    0,	 160,	7,   1, 130,  -1,   0,	 6,   0, {1,2}	, 10},
X{"Hard Leather Ring Mail"	,0x00000000L,	TV_SOFT_ARMOR, '(',/*109*/
X    0,	 230,	8,   1, 150,  -2,   0,	 8,   0, {1,3}	, 12},
X{"Leather Scale Mail"		,0x00000000L,	TV_SOFT_ARMOR, '(',/*110*/
X    0,	 330,	9,   1, 140,  -1,   0,	11,   0, {1,1}	, 14},
X{"Metal Scale Mail"		,0x00000000L,	TV_HARD_ARMOR, '[',/*111*/
X    0,	 430,	1,   1, 250,  -2,   0,	13,   0, {1,4}	, 24},
X{"Chain Mail"			,0x00000000L,	TV_HARD_ARMOR, '[',/*112*/
X    0,	 530,	2,   1, 220,  -2,   0,	14,   0, {1,4}	, 26},
X{"Rusty Chain Mail"		,0x00000000L,	TV_HARD_ARMOR, '[',/*113*/
X    0,	   0,	3,   1, 200,  -5,   0,	14,  -8, {1,4}	, 26},
X{"Double Chain Mail"		,0x00000000L,	TV_HARD_ARMOR, '[',/*114*/
X    0,	 630,	4,   1, 260,  -2,   0,	15,   0, {1,4}	, 28},
X{"Augmented Chain Mail"		,0x00000000L,	TV_HARD_ARMOR, '[',/*115*/
X    0,	 675,	5,   1, 270,  -2,   0,	16,   0, {1,4}	, 30},
X{"Bar Chain Mail"		,0x00000000L,	TV_HARD_ARMOR, '[',/*116*/
X    0,	 720,	6,   1, 280,  -2,   0,	18,   0, {1,4}	, 34},
X{"Metal Brigandine Armor"	,0x00000000L,	TV_HARD_ARMOR, '[',/*117*/
X    0,	 775,	7,   1, 290,  -3,   0,	19,   0, {1,4}	, 36},
X{"Laminated Armor"		,0x00000000L,	TV_HARD_ARMOR, '[',/*118*/
X    0,	 825,	8,   1, 300,  -3,   0,	20,   0, {1,4}	, 38},
X{"Partial Plate Armor"		,0x00000000L,	TV_HARD_ARMOR, '[',/*119*/
X    0,	 900,	9,   1, 260,  -3,   0,	22,   0, {1,6}	, 42},
X{"Metal Lamellar Armor"		,0x00000000L,	TV_HARD_ARMOR, '[',/*120*/
X    0,	 950,	10,   1, 340,  -3,   0,	23,   0, {1,6}	, 44},
X{"Full Plate Armor"		,0x00000000L,	TV_HARD_ARMOR, '[',/*121*/
X    0,	1050,	11,   1, 380,  -3,   0,	25,   0, {2,4}	, 48},
X{"Ribbed Plate Armor"		,0x00000000L,	TV_HARD_ARMOR, '[',/*122*/
X    0,	1200,	12,   1, 380,  -3,   0,	28,   0, {2,4}	, 50},
X{"& Cloak"			,0x00000000L,	TV_CLOAK, '(',	/*123*/
X    0,	   3,	1,   1,  10,	0,   0,	 1,   0, {0,0}	,  1},
X{"& Set of Leather Gloves"	,0x00000000L,	TV_GLOVES, ']',	/*124*/
X    0,	   3,	1,   1,   5,	0,   0,	 1,   0, {0,0}	,  1},
X{"& Set of Gauntlets"		,0x00000000L,	TV_GLOVES, ']',	/*125*/
X    0,	  35,	2,   1,  25,	0,   0,	 2,   0, {1,1}	, 12},
X{"& Small Leather Shield"	,0x00000000L,	TV_SHIELD, ')',	/*126*/
X    0,	  30,	1,   1,  50,	0,   0,	 2,   0, {1,1}	,  3},
X{"& Medium Leather Shield"	,0x00000000L,	TV_SHIELD, ')',	/*127*/
X    0,	  60,	2,   1,  75,	0,   0,	 3,   0, {1,2}	,  8},
X{"& Large Leather Shield"	,0x00000000L,	TV_SHIELD, ')',	/*128*/
X    0,	 120,	3,   1, 100,	0,   0,	 4,   0, {1,2}	, 15},
X{"& Small Metal Shield"		,0x00000000L,	TV_SHIELD, ')',	/*129*/
X    0,	  50,	4,   1,  65,	0,   0,	 3,   0, {1,2}	, 10},
X{"& Medium Metal Shield"	,0x00000000L,	TV_SHIELD, ')',	/*130*/
X    0,	 125,	5,   1,  90,	0,   0,	 4,   0, {1,3}	, 20},
X{"& Large Metal Shield"		,0x00000000L,	TV_SHIELD, ')',	/*131*/
X    0,	 200,	6,   1, 120,	0,   0,	 5,   0, {1,3}	, 30},
X{"Gain Strength"		,0x00000001L,	TV_RING, '=',	/*132*/
X    0,	 400,	0,   1,   2,	0,   0,	 0,   0, {0,0}	, 30},
X{"Gain Dexterity"		,0x00000008L,	TV_RING, '=',	/*133*/
X    0,	 400,	1,   1,   2,	0,   0,	 0,   0, {0,0}	, 30},
X{"Gain Constitution"		,0x00000010L,	TV_RING, '=',	/*134*/
X    0,	 400,	2,   1,   2,	0,   0,	 0,   0, {0,0}	, 30},
X{"Gain Intelligence"		,0x00000002L,	TV_RING, '=',	/*135*/
X    0,	 350,	3,   1,   2,	0,   0,	 0,   0, {0,0}	, 30},
X{"Speed"			,0x00001000L,	TV_RING, '=',	/*136*/
X    0,	3000,	4,   1,   2,	0,   0,	 0,   0, {0,0}	, 50},
X{"Searching"			,0x00000040L,	TV_RING, '=',	/*137*/
X    0,	 250,	5,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X{"Teleportation"		,0x80000400L,	TV_RING, '=',	/*138*/
X    0,	   0,	6,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X{"Slow Digestion"		,0x00000080L,	TV_RING, '=',	/*139*/
X    0,	 250,	7,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X{"Resist Fire"			,0x00080000L,	TV_RING, '=',	/*140*/
X    0,	 250,	8,   1,   2,	0,   0,	 0,   0, {0,0}	, 14},
X{"Resist Cold"			,0x00200000L,	TV_RING, '=',	/*141*/
X    0,	 250,	9,   1,   2,	0,   0,	 0,   0, {0,0}	, 14},
X{"Feather Falling"		,0x04000000L,	TV_RING, '=',	/*142*/
X    0,	 200,	10,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X{"Adornment"			,0x00000000L,	TV_RING, '=',	/*143*/
X    0,	  20,	11,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X/* was a ring of adornment, subval = 12 here */
X{"& Arrow~"			,0x00000000L,	TV_ARROW, '{',	/*144*/
X    0,	   1, 193,   1,   2,	0,   0,	 0,   0, {1,4}	, 15},
X{"Weakness"			,0x80000001L,	TV_RING, '=',	/*145*/
X   -5,	   0,	13,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X{"Lordly Protection (FIRE)"	,0x00080000L,	TV_RING, '=',	/*146*/
X    0,	1200,	14,   1,   2,	0,   0,	 0,   5, {0,0}	, 50},
X{"Lordly Protection (ACID)"	,0x00100000L,	TV_RING, '=',	/*147*/
X    0,	1200,	15,   1,   2,	0,   0,	 0,   5, {0,0}	, 50},
X{"Lordly Protection (COLD)"	,0x00200000L,	TV_RING, '=',	/*148*/
X    0,	1200,	16,   1,   2,	0,   0,	 0,   5, {0,0}	, 50},
X{"WOE"				,0x80000644L,	TV_RING, '=',	/*149*/
X   -5,	   0,	17,   1,   2,	0,   0,	 0,  -3, {0,0}	, 50},
X{"Stupidity"			,0x80000002L,	TV_RING, '=',	/*150*/
X   -5,	   0,	18,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X{"Increase Damage"		,0x00000000L,	TV_RING, '=',	/*151*/
X    0,	 100,	19,   1,   2,	0,   0,	 0,   0, {0,0}	, 20},
X{"Increase To-Hit"		,0x00000000L,	TV_RING, '=',	/*152*/
X    0,	 100,	20,   1,   2,	0,   0,	 0,   0, {0,0}	, 20},
X{"Protection"			,0x00000000L,	TV_RING, '=',	/*153*/
X    0,	 100,	21,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X{"Aggravate Monster"		,0x80000200L,	TV_RING, '=',	/*154*/
X    0,	   0,	22,   1,   2,	0,   0,	 0,   0, {0,0}	,  7},
X{"See Invisible"		,0x01000000L,	TV_RING, '=',	/*155*/
X    0,	 340,	23,   1,   2,	0,   0,	 0,   0, {0,0}	, 40},
X{"Sustain Strength"		,0x00400000L,	TV_RING, '=',	/*156*/
X    1,	 750,	24,   1,   2,	0,   0,	 0,   0, {0,0}	, 44},
X{"Sustain Intelligence"		,0x00400000L,	TV_RING, '=',	/*157*/
X    2,	 600,	25,   1,   2,	0,   0,	 0,   0, {0,0}	, 44},
X{"Sustain Wisdom"		,0x00400000L,	TV_RING, '=',	/*158*/
X    3,	 600,	26,   1,   2,	0,   0,	 0,   0, {0,0}	, 44},
X{"Sustain Constitution"		,0x00400000L,	TV_RING, '=',	/*159*/
X    4,	 750,	27,   1,   2,	0,   0,	 0,   0, {0,0}	, 44},
X{"Sustain Dexterity"		,0x00400000L,	TV_RING, '=',	/*160*/
X    5,	 750,	28,   1,   2,	0,   0,	 0,   0, {0,0}	, 44},
X{"Sustain Charisma"		,0x00400000L,	TV_RING, '=',	/*161*/
X    6,	 500,	29,   1,   2,	0,   0,	 0,   0, {0,0}	, 44},
X{"Slaying"			,0x00000000L,	TV_RING, '=',	/*162*/
X    0,	1000,	30,   1,   2,	0,   0,	 0,   0, {0,0}	, 50},
X{"Wisdom"			,0x00000004L,	TV_AMULET, '"',	/*163*/
X    0,	 300,	0,   1,   3,	0,   0,	 0,   0, {0,0}	, 20},
X{"Charisma"			,0x00000020L,	TV_AMULET, '"',	/*164*/
X    0,	 250,	1,   1,   3,	0,   0,	 0,   0, {0,0}	, 20},
X{"Searching"			,0x00000040L,	TV_AMULET, '"',	/*165*/
X    0,	 250,	2,   1,   3,	0,   0,	 0,   0, {0,0}	, 14},
X{"Teleportation"		,0x80000400L,	TV_AMULET, '"',	/*166*/
X    0,	   0,	3,   1,   3,	0,   0,	 0,   0, {0,0}	, 14},
X{"Slow Digestion"		,0x00000080L,	TV_AMULET, '"',	/*167*/
X    0,	 200,	4,   1,   3,	0,   0,	 0,   0, {0,0}	, 14},
X{"Resist Acid"			,0x00100000L,	TV_AMULET, '"',	/*168*/
X    0,	 300,	5,   1,   3,	0,   0,	 0,   0, {0,0}	, 24},
X{"Adornment"			,0x00000000L,	TV_AMULET, '"',	/*169*/
X    0,	  20,	6,   1,   3,	0,   0,	 0,   0, {0,0}	, 16},
X/* was an amulet of adornment here, subval = 7 */
X{"& Bolt~"			,0x00000000L,	TV_BOLT, '{',	/*170*/
X    0,	   2, 193,   1,   3,	0,   0,	 0,   0, {1,5}	, 25},
X{"the Magi"			,0x01800040L,	TV_AMULET, '"',	/*171*/
X    0,	5000,	8,   1,   3,	0,   0,	 0,   3, {0,0}	, 50},
X{"DOOM"				,0x8000007FL,	TV_AMULET, '"',	/*172*/
X   -5,	   0,	9,   1,   3,	0,   0,	 0,   0, {0,0}	, 50},
X{"Enchant Weapon To-Hit"	,0x00000001L,	TV_SCROLL1, '?',/*173*/
X    0,	 125,	64,   1,   5,	0,   0,	 0,   0, {0,0}	, 12},
X{"Enchant Weapon To-Dam"	,0x00000002L,	TV_SCROLL1, '?',/*174*/
X    0,	 125,	65,   1,   5,	0,   0,	 0,   0, {0,0}	, 12},
X{"Enchant Armor"		,0x00000004L,	TV_SCROLL1, '?',/*175*/
X    0,	 125,	66,   1,   5,	0,   0,	 0,   0, {0,0}	, 12},
X{"Identify"			,0x00000008L,	TV_SCROLL1, '?',/*176*/
X    0,	  50,	67,   1,   5,	0,   0,	 0,   0, {0,0}	,  1},
X{"Identify"			,0x00000008L,	TV_SCROLL1, '?',/*177*/
X    0,	  50,	67,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"Identify"			,0x00000008L,	TV_SCROLL1, '?',/*178*/
X    0,	  50,	67,   1,   5,	0,   0,	 0,   0, {0,0}	, 10},
X{"Identify"			,0x00000008L,	TV_SCROLL1, '?',/*179*/
X    0,	  50,	67,   1,   5,	0,   0,	 0,   0, {0,0}	, 30},
X{"Remove Curse"			,0x00000010L,	TV_SCROLL1, '?',/*180*/
X    0,	 100,	68,   1,   5,	0,   0,	 0,   0, {0,0}	,  7},
X{"Light"			,0x00000020L,	TV_SCROLL1, '?',/*181*/
X    0,	  15,	69,   1,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Light"			,0x00000020L,	TV_SCROLL1, '?',/*182*/
X    0,	  15,	69,   1,   5,	0,   0,	 0,   0, {0,0}	,  3},
X{"Light"			,0x00000020L,	TV_SCROLL1, '?',/*183*/
X    0,	  15,	69,   1,   5,	0,   0,	 0,   0, {0,0}	,  7},
X{"Summon Monster"		,0x00000040L,	TV_SCROLL1, '?',/*184*/
X    0,	   0,	70,   1,   5,	0,   0,	 0,   0, {0,0}	,  1},
X{"Phase Door"			,0x00000080L,	TV_SCROLL1, '?',/*185*/
X    0,	  15,	71,   1,   5,	0,   0,	 0,   0, {0,0}	,  1},
X{"Teleport"			,0x00000100L,	TV_SCROLL1, '?',/*186*/
X    0,	  40,	72,   1,   5,	0,   0,	 0,   0, {0,0}	, 10},
X{"Teleport Level"		,0x00000200L,	TV_SCROLL1, '?',/*187*/
X    0,	  50,	73,   1,   5,	0,   0,	 0,   0, {0,0}	, 20},
X{"Monster Confusion"		,0x00000400L,	TV_SCROLL1, '?',/*188*/
X    0,	  30,	74,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"Magic Mapping"		,0x00000800L,	TV_SCROLL1, '?',/*189*/
X    0,	  40,	75,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"Sleep Monster"		,0x00001000L,	TV_SCROLL1, '?',/*190*/
X    0,	  35,	76,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"Rune of Protection"		,0x00002000L,	TV_SCROLL1, '?',/*191*/
X    0,	 500,	77,   1,   5,	0,   0,	 0,   0, {0,0}	, 50},
X{"Treasure Detection"		,0x00004000L,	TV_SCROLL1, '?',/*192*/
X    0,	  15,	78,   1,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Object Detection"		,0x00008000L,	TV_SCROLL1, '?',/*193*/
X    0,	  15,	79,   1,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Trap Detection"		,0x00010000L,	TV_SCROLL1, '?',/*194*/
X    0,	  35,	80,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"Trap Detection"		,0x00010000L,	TV_SCROLL1, '?',/*195*/
X    0,	  35,	80,   1,   5,	0,   0,	 0,   0, {0,0}	,  8},
X{"Trap Detection"		,0x00010000L,	TV_SCROLL1, '?',/*196*/
X    0,	  35,	80,   1,   5,	0,   0,	 0,   0, {0,0}	, 12},
X{"Door/Stair Location"		,0x00020000L,	TV_SCROLL1, '?',/*197*/
X    0,	  35,	81,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"Door/Stair Location"		,0x00020000L,	TV_SCROLL1, '?',/*198*/
X    0,	  35,	81,   1,   5,	0,   0,	 0,   0, {0,0}	, 10},
X{"Door/Stair Location"		,0x00020000L,	TV_SCROLL1, '?',/*199*/
X    0,	  35,	81,   1,   5,	0,   0,	 0,   0, {0,0}	, 15},
X{"Mass Genocide"		,0x00040000L,	TV_SCROLL1, '?',/*200*/
X    0,	1000,	82,   1,   5,	0,   0,	 0,   0, {0,0}	, 50},
X{"Detect Invisible"		,0x00080000L,	TV_SCROLL1, '?',/*201*/
X    0,	  15,	83,   1,   5,	0,   0,	 0,   0, {0,0}	,  1},
X{"Aggravate Monster"		,0x00100000L,	TV_SCROLL1, '?',/*202*/
X    0,	   0,	84,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"Trap Creation"		,0x00200000L,	TV_SCROLL1, '?',/*203*/
X    0,	   0,	85,   1,   5,	0,   0,	 0,   0, {0,0}	, 12},
X{"Trap/Door Destruction"	,0x00400000L,	TV_SCROLL1, '?',/*204*/
X    0,	  50,	86,   1,   5,	0,   0,	 0,   0, {0,0}	, 12},
X{"Door Creation"		,0x00800000L,	TV_SCROLL1, '?',/*205*/
X    0,	 100,	87,   1,   5,	0,   0,	 0,   0, {0,0}	, 12},
X{"Recharging"			,0x01000000L,	TV_SCROLL1, '?',/*206*/
X    0,	 200,	88,   1,   5,	0,   0,	 0,   0, {0,0}	, 40},
X{"Genocide"			,0x02000000L,	TV_SCROLL1, '?',/*207*/
X    0,	 750,	89,   1,   5,	0,   0,	 0,   0, {0,0}	, 35},
X{"Darkness"			,0x04000000L,	TV_SCROLL1, '?',/*208*/
X    0,	   0,	90,   1,   5,	0,   0,	 0,   0, {0,0}	,  1},
X{"Protection from Evil"		,0x08000000L,	TV_SCROLL1, '?',/*209*/
X    0,	  50,	91,   1,   5,	0,   0,	 0,   0, {0,0}	, 30},
X{"Create Food"			,0x10000000L,	TV_SCROLL1, '?',/*210*/
X    0,	  10,	92,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"Dispel Undead"		,0x20000000L,	TV_SCROLL1, '?',/*211*/
X    0,	 200,	93,   1,   5,	0,   0,	 0,   0, {0,0}	, 40},
X{"*Enchant Weapon*"		,0x00000001L,	TV_SCROLL2, '?',/*212*/
X    0,	 500,	94,   1,   5,	0,   0,	 0,   0, {0,0}	, 50},
X{"Curse Weapon"			,0x00000002L,	TV_SCROLL2, '?',/*213*/
X    0,	   0,	95,   1,   5,	0,   0,	 0,   0, {0,0}	, 50},
X{"*Enchant Armor*"		,0x00000004L,	TV_SCROLL2, '?',/*214*/
X    0,	 500,	96,   1,   5,	0,   0,	 0,   0, {0,0}	, 50},
X{"Curse Armor"			,0x00000008L,	TV_SCROLL2, '?',/*215*/
X    0,	   0,	97,   1,   5,	0,   0,	 0,   0, {0,0}	, 50},
X{"Summon Undead"		,0x00000010L,	TV_SCROLL2, '?',/*216*/
X    0,	   0,	98,   1,   5,	0,   0,	 0,   0, {0,0}	, 15},
X{"Blessing"			,0x00000020L,	TV_SCROLL2, '?',/*217*/
X    0,	  15,	99,   1,   5,	0,   0,	 0,   0, {0,0}	,  1},
X{"Holy Chant"			,0x00000040L,	TV_SCROLL2, '?',/*218*/
X    0,	  40, 100,   1,   5,	0,   0,	 0,   0, {0,0}	, 12},
X{"Holy Prayer"			,0x00000080L,	TV_SCROLL2, '?',/*219*/
X    0,	  80, 101,   1,   5,	0,   0,	 0,   0, {0,0}	, 24},
X{"Word-of-Recall"		,0x00000100L,	TV_SCROLL2, '?',/*220*/
X    0,	 150, 102,   1,   5,	0,   0,	 0,   0, {0,0}	,  5},
X{"*Destruction*"		,0x00000200L,	TV_SCROLL2, '?',/*221*/
X    0,	 250, 103,   1,   5,	0,   0,	 0,   0, {0,0}	, 40},
X/* SMJ, AJ, Water must be subval 64-66 resp. for objdes to work */
X{"Slime Mold Juice"		,0x30000000L,	TV_POTION1, '!',/*222*/
X  400,	   2,	64,   1,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Apple Juice"			,0x00000000L,	TV_POTION1, '!',/*223*/
X  250,	   1,	65,   1,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Water"			,0x00000000L,	TV_POTION1, '!',/*224*/
X  200,	   0,	66,   1,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Gain Strength"		,0x00000001L,	TV_POTION1, '!',/*225*/
X    0,	 300,	67,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Weakness"			,0x00000002L,	TV_POTION1, '!',/*226*/
X    0,	   0,	68,   1,   4,	0,   0,	 0,   0, {1,1}	,  3},
X{"Restore Strength"		,0x00000004L,	TV_POTION1, '!',/*227*/
X    0,	 300,	69,   1,   4,	0,   0,	 0,   0, {1,1}	, 40},
X{"Gain Intelligence"		,0x00000008L,	TV_POTION1, '!',/*228*/
X    0,	 300,	70,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Lose Intelligence"		,0x00000010L,	TV_POTION1, '!',/*229*/
X    0,	   0,	71,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Restore Intelligence"		,0x00000020L,	TV_POTION1, '!',/*230*/
X    0,	 300,	72,   1,   4,	0,   0,	 0,   0, {1,1}	, 40},
X{"Gain Wisdom"			,0x00000040L,	TV_POTION1, '!',/*231*/
X    0,	 300,	73,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Lose Wisdom"			,0x00000080L,	TV_POTION1, '!',/*232*/
X    0,	   0,	74,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Restore Wisdom"		,0x00000100L,	TV_POTION1, '!',/*233*/
X    0,	 300,	75,   1,   4,	0,   0,	 0,   0, {1,1}	, 40},
X{"Charisma"			,0x00000200L,	TV_POTION1, '!',/*234*/
X    0,	 300,	76,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Ugliness"			,0x00000400L,	TV_POTION1, '!',/*235*/
X    0,	   0,	77,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Restore Charisma"		,0x00000800L,	TV_POTION1, '!',/*236*/
X    0,	 300,	78,   1,   4,	0,   0,	 0,   0, {1,1}	, 40},
X{"Cure Light Wounds"		,0x10001000L,	TV_POTION1, '!',/*237*/
X   50,	  15,	79,   1,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Cure Light Wounds"		,0x10001000L,	TV_POTION1, '!',/*238*/
X   50,	  15,	79,   1,   4,	0,   0,	 0,   0, {1,1}	,  1},
X{"Cure Light Wounds"		,0x10001000L,	TV_POTION1, '!',/*239*/
X   50,	  15,	79,   1,   4,	0,   0,	 0,   0, {1,1}	,  2},
X{"Cure Serious Wounds"		,0x30002000L,	TV_POTION1, '!',/*240*/
X  100,	  40,	80,   1,   4,	0,   0,	 0,   0, {1,1}	,  3},
X{"Cure Critical Wounds"		,0x70004000L,	TV_POTION1, '!',/*241*/
X  100,	 100,	81,   1,   4,	0,   0,	 0,   0, {1,1}	,  5},
X{"Healing"			,0x70008000L,	TV_POTION1, '!',/*242*/
X  200,	 200,	82,   1,   4,	0,   0,	 0,   0, {1,1}	, 12},
X{"Gain Constitution"		,0x00010000L,	TV_POTION1, '!',/*243*/
X    0,	 300,	83,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Gain Experience"		,0x00020000L,	TV_POTION1, '!',/*244*/
X    0,	2500,	84,   1,   4,	0,   0,	 0,   0, {1,1}	, 50},
X{"Sleep"			,0x00040000L,	TV_POTION1, '!',/*245*/
X  100,	   0,	85,   1,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Blindness"			,0x00080000L,	TV_POTION1, '!',/*246*/
X    0,	   0,	86,   1,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Confusion"			,0x00100000L,	TV_POTION1, '!',/*247*/
X   50,	   0,	87,   1,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Poison"			,0x00200000L,	TV_POTION1, '!',/*248*/
X    0,	   0,	88,   1,   4,	0,   0,	 0,   0, {1,1}	,  3},
X{"Haste Self"			,0x00400000L,	TV_POTION1, '!',/*249*/
X    0,	  75,	89,   1,   4,	0,   0,	 0,   0, {1,1}	,  1},
X{"Slowness"			,0x00800000L,	TV_POTION1, '!',/*250*/
X   50,	   0,	90,   1,   4,	0,   0,	 0,   0, {1,1}	,  1},
X{"Gain Dexterity"		,0x02000000L,	TV_POTION1, '!',/*251*/
X    0,	 300,	91,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Restore Dexterity"		,0x04000000L,	TV_POTION1, '!',/*252*/
X    0,	 300,	92,   1,   4,	0,   0,	 0,   0, {1,1}	, 40},
X{"Restore Constitution"		,0x68000000L,	TV_POTION1, '!',/*253*/
X    0,	 300,	93,   1,   4,	0,   0,	 0,   0, {1,1}	, 40},
X{"Lose Memories"		,0x00000002L,	TV_POTION2, '!',/*254*/
X    0,	   0,	95,   1,   4,	0,   0,	 0,   0, {1,1}	, 10},
X{"Salt Water"			,0x00000004L,	TV_POTION2, '!',/*255*/
X    0,	   0,	96,   1,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Invulnerability"		,0x00000008L,	TV_POTION2, '!',/*256*/
X    0,	 250,	97,   1,   4,	0,   0,	 0,   0, {1,1}	, 40},
X{"Heroism"			,0x00000010L,	TV_POTION2, '!',/*257*/
X    0,	  35,	98,   1,   4,	0,   0,	 0,   0, {1,1}	,  1},
X{"Super Heroism"		,0x00000020L,	TV_POTION2, '!',/*258*/
X    0,	 100,	99,   1,   4,	0,   0,	 0,   0, {1,1}	,  3},
X{"Boldness"			,0x00000040L,	TV_POTION2, '!',/*259*/
X    0,	  10, 100,   1,   4,	0,   0,	 0,   0, {1,1}	,  1},
X{"Restore Life Levels"		,0x00000080L,	TV_POTION2, '!',/*260*/
X    0,	 400, 101,   1,   4,	0,   0,	 0,   0, {1,1}	, 40},
X{"Resist Heat"			,0x00000100L,	TV_POTION2, '!',/*261*/
X    0,	  30, 102,   1,   4,	0,   0,	 0,   0, {1,1}	,  1},
X{"Resist Cold"			,0x00000200L,	TV_POTION2, '!',/*262*/
X    0,	  30, 103,   1,   4,	0,   0,	 0,   0, {1,1}	,  1},
X{"Detect Invisible"		,0x00000400L,	TV_POTION2, '!',/*263*/
X    0,	  50, 104,   1,   4,	0,   0,	 0,   0, {1,1}	,  3},
X{"Slow Poison"			,0x00000800L,	TV_POTION2, '!',/*264*/
X    0,	  25, 105,   1,   4,	0,   0,	 0,   0, {1,1}	,  1},
X{"Neutralize Poison"		,0x00001000L,	TV_POTION2, '!',/*265*/
X    0,	  75, 106,   1,   4,	0,   0,	 0,   0, {1,1}	,  5},
X{"Restore Mana"			,0x00002000L,	TV_POTION2, '!',/*266*/
X    0,	 350, 107,   1,   4,	0,   0,	 0,   0, {1,1}	, 25},
X{"Infra-Vision"			,0x00004000L,	TV_POTION2, '!',/*267*/
X    0,	  20, 108,   1,   4,	0,   0,	 0,   0, {1,1}	,  3},
X{"& Flask~ of oil"		,0x00040000L,	TV_FLASK, '!',	/*268*/
X 7500,	   3,	64,   1,  10,	0,   0,	 0,   0, {2,6}	,  1},
X{"Light"			,0x00000001L,	TV_WAND, '-',	/*269*/
X    0,	 200,	0,   1,  10,	0,   0,	 0,   0, {1,1}	,  2},
X{"Lightning Bolts"		,0x00000002L,	TV_WAND, '-',	/*270*/
X    0,	 600,	1,   1,  10,	0,   0,	 0,   0, {1,1}	, 15},
X{"Frost Bolts"			,0x00000004L,	TV_WAND, '-',	/*271*/
X    0,	 800,	2,   1,  10,	0,   0,	 0,   0, {1,1}	, 20},
X{"Fire Bolts"			,0x00000008L,	TV_WAND, '-',	/*272*/
X    0,	1000,	3,   1,  10,	0,   0,	 0,   0, {1,1}	, 30},
X{"Stone-to-Mud"			,0x00000010L,	TV_WAND, '-',	/*273*/
X    0,	 300,	4,   1,  10,	0,   0,	 0,   0, {1,1}	, 12},
X{"Polymorph"			,0x00000020L,	TV_WAND, '-',	/*274*/
X    0,	 400,	5,   1,  10,	0,   0,	 0,   0, {1,1}	, 20},
X{"Heal Monster"			,0x00000040L,	TV_WAND, '-',	/*275*/
X    0,	   0,	6,   1,  10,	0,   0,	 0,   0, {1,1}	,  2},
X{"Haste Monster"		,0x00000080L,	TV_WAND, '-',	/*276*/
X    0,	   0,	7,   1,  10,	0,   0,	 0,   0, {1,1}	,  2},
X{"Slow Monster"			,0x00000100L,	TV_WAND, '-',	/*277*/
X    0,	 500,	8,   1,  10,	0,   0,	 0,   0, {1,1}	,  2},
X{"Confuse Monster"		,0x00000200L,	TV_WAND, '-',	/*278*/
X    0,	 400,	9,   1,  10,	0,   0,	 0,   0, {1,1}	,  2},
X{"Sleep Monster"		,0x00000400L,	TV_WAND, '-',	/*279*/
X    0,	 500,	10,   1,  10,	0,   0,	 0,   0, {1,1}	,  7},
X{"Drain Life"			,0x00000800L,	TV_WAND, '-',	/*280*/
X    0,	1200,	11,   1,  10,	0,   0,	 0,   0, {1,1}	, 50},
X{"Trap/Door Destruction"	,0x00001000L,	TV_WAND, '-',	/*281*/
X    0,	 100,	12,   1,  10,	0,   0,	 0,   0, {1,1}	, 12},
X{"Magic Missile"		,0x00002000L,	TV_WAND, '-',	/*282*/
X    0,	 200,	13,   1,  10,	0,   0,	 0,   0, {1,1}	,  2},
X{"Wall Building"		,0x00004000L,	TV_WAND, '-',	/*283*/
X    0,	 400,	14,   1,  10,	0,   0,	 0,   0, {1,1}	, 25},
X{"Clone Monster"		,0x00008000L,	TV_WAND, '-',	/*284*/
X    0,	   0,	15,   1,  10,	0,   0,	 0,   0, {1,1}	, 15},
X{"Teleport Away"		,0x00010000L,	TV_WAND, '-',	/*285*/
X    0,	 350,	16,   1,  10,	0,   0,	 0,   0, {1,1}	, 20},
X{"Disarming"			,0x00020000L,	TV_WAND, '-',	/*286*/
X    0,	 700,	17,   1,  10,	0,   0,	 0,   0, {1,1}	, 20},
X{"Lightning Balls"		,0x00040000L,	TV_WAND, '-',	/*287*/
X    0,	1200,	18,   1,  10,	0,   0,	 0,   0, {1,1}	, 35},
X{"Cold Balls"			,0x00080000L,	TV_WAND, '-',	/*288*/
X    0,	1500,	19,   1,  10,	0,   0,	 0,   0, {1,1}	, 40},
X{"Fire Balls"			,0x00100000L,	TV_WAND, '-',	/*289*/
X    0,	1800,	20,   1,  10,	0,   0,	 0,   0, {1,1}	, 50},
X{"Stinking Cloud"		,0x00200000L,	TV_WAND, '-',	/*290*/
X    0,	 400,	21,   1,  10,	0,   0,	 0,   0, {1,1}	,  5},
X{"Acid Balls"			,0x00400000L,	TV_WAND, '-',	/*291*/
X    0,	1650,	22,   1,  10,	0,   0,	 0,   0, {1,1}	, 48},
X{"Wonder"			,0x00800000L,	TV_WAND, '-',	/*292*/
X    0,	 250,	23,   1,  10,	0,   0,	 0,   0, {1,1}	,  2},
X{"Light"			,0x00000001L,	TV_STAFF, '_',	/*293*/
X    0,	 250,	0,   1,  50,	0,   0,	 0,   0, {1,2}	,  5},
X{"Door/Stair Location"		,0x00000002L,	TV_STAFF, '_',	/*294*/
X    0,	 350,	1,   1,  50,	0,   0,	 0,   0, {1,2}	, 10},
X{"Trap Location"		,0x00000004L,	TV_STAFF, '_',	/*295*/
X    0,	 350,	2,   1,  50,	0,   0,	 0,   0, {1,2}	, 10},
X{"Treasure Location"		,0x00000008L,	TV_STAFF, '_',	/*296*/
X    0,	 200,	3,   1,  50,	0,   0,	 0,   0, {1,2}	,  5},
X{"Object Location"		,0x00000010L,	TV_STAFF, '_',	/*297*/
X    0,	 200,	4,   1,  50,	0,   0,	 0,   0, {1,2}	,  5},
X{"Teleportation"		,0x00000020L,	TV_STAFF, '_',	/*298*/
X    0,	 400,	5,   1,  50,	0,   0,	 0,   0, {1,2}	, 20},
X{"Earthquakes"			,0x00000040L,	TV_STAFF, '_',	/*299*/
X    0,	 350,	6,   1,  50,	0,   0,	 0,   0, {1,2}	, 40},
X{"Summoning"			,0x00000080L,	TV_STAFF, '_',	/*300*/
X    0,	   0,	7,   1,  50,	0,   0,	 0,   0, {1,2}	, 10},
X{"Summoning"			,0x00000080L,	TV_STAFF, '_',	/*301*/
X    0,	   0,	7,   1,  50,	0,   0,	 0,   0, {1,2}	, 50},
X{"*Destruction*"		,0x00000200L,	TV_STAFF, '_',	/*302*/
X    0,	2500,	8,   1,  50,	0,   0,	 0,   0, {1,2}	, 50},
X{"Starlight"			,0x00000400L,	TV_STAFF, '_',	/*303*/
X    0,	 800,	9,   1,  50,	0,   0,	 0,   0, {1,2}	, 20},
X{"Haste Monsters"		,0x00000800L,	TV_STAFF, '_',	/*304*/
X    0,	   0,	10,   1,  50,	0,   0,	 0,   0, {1,2}	, 10},
X{"Slow Monsters"		,0x00001000L,	TV_STAFF, '_',	/*305*/
X    0,	 800,	11,   1,  50,	0,   0,	 0,   0, {1,2}	, 10},
X{"Sleep Monsters"		,0x00002000L,	TV_STAFF, '_',	/*306*/
X    0,	 700,	12,   1,  50,	0,   0,	 0,   0, {1,2}	, 10},
X{"Cure Light Wounds"		,0x00004000L,	TV_STAFF, '_',	/*307*/
X    0,	 350,	13,   1,  50,	0,   0,	 0,   0, {1,2}	,  5},
X{"Detect Invisible"		,0x00008000L,	TV_STAFF, '_',	/*308*/
X    0,	 200,	14,   1,  50,	0,   0,	 0,   0, {1,2}	,  5},
X{"Speed"			,0x00010000L,	TV_STAFF, '_',	/*309*/
X    0,	1000,	15,   1,  50,	0,   0,	 0,   0, {1,2}	, 40},
X{"Slowness"			,0x00020000L,	TV_STAFF, '_',	/*310*/
X    0,	   0,	16,   1,  50,	0,   0,	 0,   0, {1,2}	, 40},
X{"Mass Polymorph"		,0x00040000L,	TV_STAFF, '_',	/*311*/
X    0,	 750,	17,   1,  50,	0,   0,	 0,   0, {1,2}	, 46},
X{"Remove Curse"			,0x00080000L,	TV_STAFF, '_',	/*312*/
X    0,	 500,	18,   1,  50,	0,   0,	 0,   0, {1,2}	, 47},
X{"Detect Evil"			,0x00100000L,	TV_STAFF, '_',	/*313*/
X    0,	 350,	19,   1,  50,	0,   0,	 0,   0, {1,2}	, 20},
X{"Curing"			,0x00200000L,	TV_STAFF, '_',	/*314*/
X    0,	1000,	20,   1,  50,	0,   0,	 0,   0, {1,2}	, 25},
X{"Dispel Evil"			,0x00400000L,	TV_STAFF, '_',	/*315*/
X    0,	1200,	21,   1,  50,	0,   0,	 0,   0, {1,2}	, 49},
X{"Darkness"			,0x01000000L,	TV_STAFF, '_',	/*316*/
X    0,	   0,	22,   1,  50,	0,   0,	 0,   0, {1,2}	, 50},
X{"Darkness"			,0x01000000L,	TV_STAFF, '_',	/*317*/
X    0,	   0,	22,   1,  50,	0,   0,	 0,   0, {1,2}	,  5},
X{"[Beginners-Magik]"		,0x0000007FL,	TV_MAGIC_BOOK, '?',/*318*/
X    0,	  25,	64,   1,  30,   0,   0,	 0,   0, {1,1}	, 40},
X{"[Magik I]"			,0x0000FF80L,	TV_MAGIC_BOOK, '?',/*319*/
X    0,	 100,	65,   1,  30,   0,   0,	 0,   0, {1,1}	, 40},
X{"[Magik II]"			,0x00FF0000L,	TV_MAGIC_BOOK, '?',/*320*/
X    0,	 400,	66,   1,  30,   0,   0,	 0,   0, {1,1}	, 40},
X{"[The Mages Guide to Power]"	,0x7F000000L,	TV_MAGIC_BOOK, '?',/*321*/
X    0,	 800,	67,   1,  30,   0,   0,	 0,   0, {1,1}	, 40},
X{"[Beginners Handbook]"		,0x000000FFL,	TV_PRAYER_BOOK, '?',/*322*/
X    0,	  25,	64,   1,  30,   0,   0,	 0,   0, {1,1}	, 40},
X{"[Words of Wisdom]"		,0x0000FF00L,	TV_PRAYER_BOOK, '?',/*323*/
X    0,	 100,	65,   1,  30,   0,   0,	 0,   0, {1,1}	, 40},
X{"[Chants and Blessings]"	,0x01FF0000L,	TV_PRAYER_BOOK, '?',/*324*/
X    0,	 300,	66,   1,  30,   0,   0,	 0,   0, {1,1}	, 40},
X{"[Exorcism and Dispelling]"	,0x7E000000L,	TV_PRAYER_BOOK, '?',/*325*/
X    0,	 900,	67,   1,  30,   0,   0,	 0,   0, {1,1}	, 40},
X{"& Small wooden chest"		,0x0F000000L,	 TV_CHEST, '&',	/*326*/
X    0,	  20,	1,   1, 250,	0,   0,	 0,   0, {2,3}	,  7},
X{"& Large wooden chest"		,0x15000000L,	 TV_CHEST, '&',	/*327*/
X    0,	  60,	4,   1, 500,	0,   0,	 0,   0, {2,5}	, 15},
X{"& Small iron chest"		,0x0F000000L,	 TV_CHEST, '&',	/*328*/
X    0,	 100,	7,   1, 300,	0,   0,	 0,   0, {2,4}	, 25},
X{"& Large iron chest"		,0x1F000000L,	 TV_CHEST, '&',	/*329*/
X    0,	 150,	10,   1,1000,	0,   0,	 0,   0, {2,6}	, 35},
X{"& Small steel chest"		,0x0F000000L,	 TV_CHEST, '&',	/*330*/
X    0,	 200,	13,   1, 500,	0,   0,	 0,   0, {2,4}	, 45},
X{"& Large steel chest"		,0x23000000L,	 TV_CHEST, '&',	/*331*/
X    0,	 250,	16,   1,1000,	0,   0,	 0,   0, {2,6}	, 50},
X{"& Rat Skeleton"		,0x00000000L,	 TV_MISC, 's',	/*332*/
X    0,	   0,	1,   1,  10,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Giant Centipede Skeleton"	,0x00000000L,	 TV_MISC, 's',	/*333*/
X    0,	   0,	2,   1,  25,	0,   0,	 0,   0, {1,1}	,  1},
X{"some filthy rags"		,0x00000000L,	TV_SOFT_ARMOR, '~',/*334*/
X    0,	   0,	63,   1,  20,	0,   0,	 1,   0, {0,0}	,  0},
X{"& empty bottle"		,0x00000000L,	 TV_MISC, '!',	/*335*/
X    0,	   0,	4,   1,   2,	0,   0,	 0,   0, {1,1}	,  0},
X{"some shards of pottery"	,0x00000000L,	 TV_MISC, '~',	/*336*/
X    0,	   0,	5,   1,   5,	0,   0,	 0,   0, {1,1}	,  0},
X{"& Human Skeleton"		,0x00000000L,	 TV_MISC, 's',	/*337*/
X    0,	   0,	7,   1,  50,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Dwarf Skeleton"		,0x00000000L,	 TV_MISC, 's',	/*338*/
X    0,	   0,	8,   1,  60,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Elf Skeleton"		,0x00000000L,	 TV_MISC, 's',	/*339*/
X    0,	   0,	9,   1,  40,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Gnome Skeleton"		,0x00000000L,	 TV_MISC, 's',	/*340*/
X    0,	   0,	10,   1,  25,	0,   0,	 0,   0, {1,1}	,  1},
X{"& broken set of teeth"	,0x00000000L,	 TV_MISC, 's',	/*341*/
X    0,	   0,	11,   1,   3,	0,   0,	 0,   0, {1,1}	,  0},
X{"& large broken bone"		,0x00000000L,	 TV_MISC, 's',	/*342*/
X    0,	   0,	12,   1,   2,	0,   0,	 0,   0, {1,1}	,  0},
X{"& broken stick"		,0x00000000L,	 TV_MISC, '~',	/*343*/
X    0,	   0,	13,   1,   3,	0,   0,	 0,   0, {1,1}	,  0},
X/* end of Dungeon items */
X/* Store items, which are not also dungeon items, some of these can be
X   found above, except that the number is >1 below */
X{"& Ration~ of Food"		,0x00000000L,	TV_FOOD, ',',	/*344*/
X 5000,	   3,	90,   5,  10,	0,   0,	 0,   0, {0,0}	,  0},
X{"& Hard Biscuit~"		,0x00000000L,	TV_FOOD, ',',	/*345*/
X  500,	   1,	93,   5,   2,	0,   0,	 0,   0, {0,0}	,  0},
X{"& Strip~ of Beef Jerky"	,0x00000000L,	TV_FOOD, ',',	/*346*/
X 1750,	   2,	94,   5,   2,	0,   0,	 0,   0, {0,0}	,  0},
X{"& Pint~ of Fine Ale"		,0x00000000L,	TV_FOOD, ',',	/*347*/
X  500,	   1,	95,   3,  10,	0,   0,	 0,   0, {0,0}	,  0},
X{"& Pint~ of Fine Wine"		,0x00000000L,	TV_FOOD, ',',	/*348*/
X  400,	   2,	96,   1,  10,	0,   0,	 0,   0, {0,0}	,  0},
X{"& Pick"			,0x20000000L,	TV_DIGGING, '\\',/*349*/
X    1,	  50,	1,   1, 150,	0,   0,	 0,   0, {1,3}	,  0},
X{"& Shovel"			,0x20000000L,	TV_DIGGING, '\\',/*350*/
X    0,	  15,	4,   1,  60,	0,   0,	 0,   0, {1,2}	,  0},
X{"Identify"			,0x00000008L,	TV_SCROLL1, '?',/*351*/
X    0,	  50,  67,   2,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Light"			,0x00000020L,	TV_SCROLL1, '?',/*352*/
X    0,	  15,  69,   3,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Phase Door"			,0x00000080L,	TV_SCROLL1, '?',/*353*/
X    0,	  15,  71,   2,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Magic Mapping"		,0x00000800L,	TV_SCROLL1, '?',/*354*/
X    0,	  40,  75,   2,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Treasure Detection"		,0x00004000L,	TV_SCROLL1, '?',/*355*/
X    0,	  15,  78,   2,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Object Detection"		,0x00008000L,	TV_SCROLL1, '?',/*356*/
X    0,	  15,  79,   2,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Detect Invisible"		,0x00080000L,	TV_SCROLL1, '?',/*357*/
X    0,	  15,  83,   2,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Blessing"			,0x00000020L,	TV_SCROLL2, '?',/*358*/
X    0,	  15,  99,   2,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Word-of-Recall"		,0x00000100L,	TV_SCROLL2, '?',/*359*/
X    0,	 150, 102,   3,   5,	0,   0,	 0,   0, {0,0}	,  0},
X{"Cure Light Wounds"		,0x10001000L,	TV_POTION1, '!',/*360*/
X   50,	  15,  79,   2,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Heroism"			,0x00000010L,	TV_POTION2, '!',/*361*/
X    0,	  35,  98,   2,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Boldness"			,0x00000040L,	TV_POTION2, '!',/*362*/
X    0,	  10, 100,   2,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"Slow Poison"			,0x00000800L,	TV_POTION2, '!',/*363*/
X    0,	  25, 105,   2,   4,	0,   0,	 0,   0, {1,1}	,  0},
X{"& Brass Lantern~"		,0x00000000L,	TV_LIGHT, '~',	/*364*/
X 7500,	  35,	0,   1,  50,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Wooden Torch~"		,0x00000000L,	TV_LIGHT, '~',	/*365*/
X 4000,	   2, 192,   5,  30,	0,   0,	 0,   0, {1,1}	,  1},
X{"& Flask~ of oil"		,0x00040000L,	TV_FLASK, '!',	/*366*/
X 7500,	   3,	64,   5,  10,	0,   0,	 0,   0, {2,6}	,  1},
X/* end store items */
X/* start doors */
X/* Secret door must have same subval as closed door in	*/
X/* TRAP_LISTB.	See CHANGE_TRAP. Must use & because of stone_to_mud. */
X{"& open door"			,0x00000000L, TV_OPEN_DOOR, '\'',
X    0,	   0,	1,   1,   0,	0,   0,	 0,   0, {1,1}	,  0},
X{"& closed door"		,0x00000000L, TV_CLOSED_DOOR, '+',
X    0,	   0,	19,   1,   0,	0,   0,	 0,   0, {1,1}	,  0},
X#ifdef ATARIST_MWC
X{"& secret door"		,0x00000000L, TV_SECRET_DOOR,
X   (unsigned char)240, /* 369 */
X#else
X{"& secret door"		,0x00000000L, TV_SECRET_DOOR, '#',/* 369 */
X#endif
X    0,	   0,	19,   1,   0,	0,   0,	 0,   0, {1,1}	,  0},
X/* end doors */
X/* stairs */
X{"an up staircase "		,0x00000000L, TV_UP_STAIR, '<',	/* 370 */
X    0,	   0,	1,   1,   0,	0,   0,	 0,   0, {1,1}	,  0},
X{"a down staircase"		,0x00000000L, TV_DOWN_STAIR, '>',/* 371 */
X    0,	   0,	1,   1,   0,	0,   0,	 0,   0, {1,1}	,  0},
X/* store door */
X/* Stores are just special traps		*/
X{"General Store"		,0x00000000L, TV_STORE_DOOR, '1',/* 372 */
X    0,	   0, 101,   1,   0,	0,   0,	 0,   0, {0,0}	,  0},
X{"Armory"			,0x00000000L, TV_STORE_DOOR, '2',
X    0,	   0, 102,   1,   0,	0,   0,	 0,   0, {0,0}	,  0},
X{"Weapon Smiths"		,0x00000000L, TV_STORE_DOOR, '3',
X    0,	   0, 103,   1,   0,	0,   0,	 0,   0, {0,0}	,  0},
X{"Temple"			,0x00000000L, TV_STORE_DOOR, '4',
X    0,	   0, 104,   1,   0,	0,   0,	 0,   0, {0,0}	,  0},
X{"Alchemy Shop"			,0x00000000L, TV_STORE_DOOR, '5',
X    0,	   0, 105,   1,   0,	0,   0,	 0,   0, {0,0}	,  0},
X{"Magic Shop"			,0x00000000L, TV_STORE_DOOR, '6',/* 377 */
X    0,	   0, 106,   1,   0,	0,   0,	 0,   0, {0,0}	,  0},
X/* end store door */
X/* Traps are just Nasty treasures.				*/
X/* Traps: Level represents the relative difficulty of disarming;	*/
X/* and P1 represents the experienced gained when disarmed*/
X{"an open pit"			,0x00000000L, TV_VIS_TRAP, ' ',	/* 378 */
X    1,	   0,	1,   1,   0,	0,   0,	 0,   0, {2,6}	,50},
X{"an arrow trap"		,0x00000000L, TV_INVIS_TRAP, '^',
X    3,	   0,	2,   1,   0,	0,   0,	 0,   0, {1,8}	,90},
X{"a covered pit"		,0x00000000L, TV_INVIS_TRAP, '^',
X    2,	   0,	3,   1,   0,	0,   0,	 0,   0, {2,6}	,60},
X{"a trap door"			,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	4,   1,   0,	0,   0,	 0,   0, {2,8}	,75},
X{"a gas trap"			,0x00000000L, TV_INVIS_TRAP, '^',
X    3,	   0,	5,   1,   0,	0,   0,	 0,   0, {1,4}	,95},
X{"a loose rock"			,0x00000000L, TV_INVIS_TRAP, ';',
X    0,	   0,	6,   1,   0,	0,   0,	 0,   0, {0,0}	,10},
X{"a dart trap"			,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	7,   1,   0,	0,   0,	 0,   0, {1,4}	,110},
X{"a strange rune"		,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	8,   1,   0,	0,   0,	 0,   0, {0,0}	,90},
X{"some loose rock"		,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	9,   1,   0,	0,   0,	 0,   0, {2,6}	,90},
X{"a gas trap"			,0x00000000L, TV_INVIS_TRAP, '^',
X   10,	   0,	10,   1,   0,	0,   0,	 0,   0, {1,4}	,105},
X{"a strange rune"		,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	11,   1,   0,	0,   0,	 0,   0, {0,0}	,90},
X{"a blackened spot"		,0x00000000L, TV_INVIS_TRAP, '^',
X   10,	   0,	12,   1,   0,	0,   0,	 0,   0, {4,6}	,110},
X{"some corroded rock"		,0x00000000L, TV_INVIS_TRAP, '^',
X   10,	   0,	13,   1,   0,	0,   0,	 0,   0, {4,6}	,110},
X{"a gas trap"			,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	14,   1,   0,	0,   0,	 0,   0, {2,6}	,105},
X{"a gas trap"			,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	15,   1,   0,	0,   0,	 0,   0, {1,4}	,110},
X{"a gas trap"			,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	16,   1,   0,	0,   0,	 0,   0, {1,8}	,105},
X{"a dart trap"			,0x00000000L, TV_INVIS_TRAP, '^',
X    5,	   0,	17,   1,   0,	0,   0,	 0,   0, {1,8}	,110},
X{"a dart trap"			,0x00000000L, TV_INVIS_TRAP, '^',/* 395 */
X    5,	   0,	18,   1,   0,	0,   0,	 0,   0, {1,8}	,110},
X/* rubble */
X{"some rubble"			,0x00000000L, TV_RUBBLE, ':',	/* 396 */
X    0,	   0,	1,   1,   0,	0,   0,	 0,   0, {0,0}	,  0},
X/* mush */
X{"& pint~ of fine grade mush"	,0x00000000L, TV_FOOD, ',',	/* 397 */
X 1500,	   0,  97,   1,   1,   0,   0,   0,   0, {1,1}  ,  1},
X/* Special trap	*/
X{"a strange rune"		,0x00000000L, TV_VIS_TRAP, '^',	/* 398 */
X    0,	   0,	99,   1,   0,	0,   0,	 0,   0, {0,0}	, 10},
X/* Gold list (All types of gold and gems are defined here)	*/
X{"copper"			,0x00000000L, TV_GOLD, '$',	/* 399 */
X    0,	   3,	1,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"copper"			,0x00000000L, TV_GOLD, '$',
X    0,	   4,	2,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"copper"			,0x00000000L, TV_GOLD, '$',
X    0,	   5,	3,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"silver"			,0x00000000L, TV_GOLD, '$',
X    0,	   6,	4,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"silver"			,0x00000000L, TV_GOLD, '$',
X    0,	   7,	5,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"silver"			,0x00000000L, TV_GOLD, '$',
X    0,	   8,	6,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"garnets"			,0x00000000L, TV_GOLD, '*',
X    0,	   9,	7,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"garnets"			,0x00000000L, TV_GOLD, '*',
X    0,	  10,	8,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"gold"				,0x00000000L, TV_GOLD, '$',
X    0,	  12,	9,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"gold"				,0x00000000L, TV_GOLD, '$',
X    0,	  14,	10,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"gold"				,0x00000000L, TV_GOLD, '$',
X    0,	  16,	11,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"opals"			,0x00000000L, TV_GOLD, '*',
X    0,	  18,	12,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"sapphires"			,0x00000000L, TV_GOLD, '*',
X    0,	  20,	13,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"gold"				,0x00000000L, TV_GOLD, '$',
X    0,	  24,	14,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"rubies"			,0x00000000L, TV_GOLD, '*',
X    0,	  28,	15,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"diamonds"			,0x00000000L, TV_GOLD, '*',
X    0,	  32,	16,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"emeralds"			,0x00000000L, TV_GOLD, '*',
X    0,	  40,	17,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X{"mithril"			,0x00000000L, TV_GOLD, '$',	/* 416 */
X    0,	  80,	18,   1,   0,	0,   0,	 0,   0, {0,0}	  ,  1},
X/* nothing, used as inventory place holder */
X/* must be stackable, so that can be picked up by inven_carry */
X{"nothing"			,0x00000000L,  TV_NOTHING, ' ',	/* 417 */
X   0,       0,  64,   0,   0,   0,   0,   0,   0, {0,0}    ,  0},
X/* these next two are needed only for the names */
X{"& ruined chest"		,0x00000000L,   TV_CHEST, '&',	/* 418 */
X   0,	   0,	0,   1, 250,	0,   0,	 0,   0, {0,0}	,  0},
X{""				,0x00000000L,  TV_NOTHING, ' ',	/* 419 */
X   0,       0,   0,   0,   0,   0,   0,   0,   0, {0,0}  ,  0}
X};
X#endif
X
Xchar *special_names[SN_ARRAY_SIZE] = {
X	NULL,			"(R)",			"(RA)",
X	"(RF)",			"(RC)",			"(RL)",
X	"(HA)",			"(DF)",			"(SA)",
X	"(SD)",			"(SE)",			"(SU)",
X	"(FT)",			"(FB)",			"of Free Action",
X	"of Slaying",		"of Clumsiness",	"of Weakness",
X	"of Slow Descent",	"of Speed",		"of Stealth",
X	"of Slowness",		"of Noise",		"of Great Mass",
X	"of Intelligence",	"of Wisdom",		"of Infra-Vision",
X	"of Might",		"of Lordliness",	"of the Magi",
X	"of Beauty",		"of Seeing",		"of Regeneration",
X	"of Stupidity",		"of Dullness",		"of Blindness",
X	"of Timidness",		"of Teleportation",	"of Ugliness",
X	"of Protection",	"of Irritation",	"of Vulnerability",
X	"of Enveloping",	"of Fire",		"of Slay Evil",
X	"of Dragon Slaying",	"(Empty)",		"(Locked)",
X	"(Poison Needle)",	"(Gas Trap)",		"(Explosion Device)",
X	"(Summoning Runes)",	"(Multiple Traps)",	"(Disarmed)",
X	"(Unlocked)",		"of Slay Animal"
X};
X
Xint16 sorted_objects[MAX_DUNGEON_OBJ];
X
X/* Identified objects flags					*/
Xint8u object_ident[OBJECT_IDENT_SIZE];
Xint16 t_level[MAX_OBJ_LEVEL+1];
Xinven_type t_list[MAX_TALLOC];
Xinven_type inventory[INVEN_ARRAY_SIZE];
X
X/* Treasure related values					*/
Xint16 inven_ctr = 0;		/* Total different obj's	*/
Xint16 inven_weight = 0;		/* Cur carried weight	*/
Xint16 equip_ctr = 0;		/* Cur equipment ctr	*/
Xint16 tcptr;			/* Cur treasure heap ptr	*/
END_OF_FILE
if test 52471 -ne `wc -c <'source/treasure.c'`; then
    echo shar: \"'source/treasure.c'\" unpacked with wrong size!
fi
# end of 'source/treasure.c'
fi
echo shar: End of archive 8 \(of 31\).
cp /dev/null ark8isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 31 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0


