[net.sources.games] larn 12.0 part 6/6

noah@condor.UUCP (Noah Morgan) (08/08/86)

*** REPLACE THIS LINE WITH YOUR MESSAGE ***
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	store.c
#	.holidays
#	.larn.help.uue
#	.larnmaze
# This archive created: Wed Aug  6 15:00:18 1986
export PATH; PATH=/bin:$PATH
echo shar: extracting "'store.c'" '(20147 characters)'
if test -f 'store.c'
then
	echo shar: will not over-write existing file "'store.c'"
else
cat << \SHAR_EOF > 'store.c'
/*	store.c		Larn is copyrighted 1986 by Noah Morgan. */
#include "header.h"
static int dndcount=0,dnditm=0;

/*	this is the data for the stuff in the dnd store	*/
int maxitm=83;	/* number of items in the dnd inventory table	*/
struct _itm itm[90] = {
/*cost	  memory 	iven name	iven arg   how
  gp	 pointer	  iven[]	ivenarg[]  many */

{ 2,		0,		OLEATHER,		0,		3	},
{ 10,		0,		OSTUDLEATHER,	0,		2	},
{ 40,		0,		ORING,			0,		2	},
{ 85,		0,		OCHAIN,			0,		2	},
{ 220,		0,		OSPLINT,		0,		1	},
{ 400,		0,		OPLATE,			0,		1	},
{ 900,		0,		OPLATEARMOR,	0,		1	},
{ 2600,		0,		OSSPLATE,		0,		1	},
{ 150,		0,		OSHIELD,		0,		1	},

/*cost	  memory 	iven name	iven arg   how
  gp	 pointer	  iven[]	ivenarg[]  many */

{ 2,		0,		ODAGGER,		0,		3	},
{ 20,		0,		OSPEAR,			0,		3	},
{ 80,		0,		OFLAIL,			0,		2	},
{ 150,		0,		OBATTLEAXE,		0,		2	},
{ 450,		0,		OLONGSWORD,		0,		2	},
{ 1000,		0,		O2SWORD,		0,		2	},
{ 5000,		0,		OSWORD,			0,		1	},
{ 16500,	0,		OLANCE,			0,		1	},
{ 6000,		0,	 OSWORDofSLASHING,	0,		0	},
{ 10000,	0,		OHAMMER,		0,		0	},

/*cost	  memory 	iven name	iven arg   how
  gp	 pointer	  iven[]	ivenarg[]  many */

{ 150,		0,		OPROTRING,		1,		1	},
{ 85,		0,		OSTRRING,		1,		1	},
{ 120,		0,		ODEXRING,		1,		1	},
{ 120,		0,		OCLEVERRING,	1,		1	},
{ 180,		0,		OENERGYRING,	0,		1	},
{ 125,		0,		ODAMRING,		0,		1	},
{ 220,		0,		OREGENRING,		0,		1	},
{ 1000,		0,		ORINGOFEXTRA,	0,		1	},

{ 280,		0,		OBELT,			0,		1	},

{ 400,		0,		OAMULET,		0,		1	},

{ 6500,		0,		OORBOFDRAGON,	0,		0	},
{ 5500,		0,		OSPIRITSCARAB,	0,		0	},
{ 5000,		0,		OCUBEofUNDEAD,	0,		0	},
{ 6000,		0,		ONOTHEFT,		0,		0	},

{ 590,		0,		OCHEST,			6,		1	},
{ 200,		0,		OBOOK,			8,		1	},
{ 10,		0,		OCOOKIE,		0,		3	},

/*cost	  memory 	iven name	iven arg   how
  gp	 pointer	  iven[]	ivenarg[]  many */

{	20,		potionname,	OPOTION,	0,		6	},
{	90,		potionname,	OPOTION,	1,		5	},
{	520,	potionname,	OPOTION,	2,		1	},
{ 	100,	potionname,	OPOTION,	3,		2	},
{	50,		potionname,	OPOTION,	4,		2	},
{	150,	potionname,	OPOTION,	5,		2	},
{	70,		potionname,	OPOTION,	6,		1	},
{	30,		potionname,	OPOTION,	7,		7	},
{	200,	potionname,	OPOTION,	8,		1	},
{	50,		potionname,	OPOTION,	9,		1	},
{	80,		potionname,	OPOTION,	10,		1	},

/*cost	  memory 	iven name	iven arg   how
  gp	 pointer	  iven[]	ivenarg[]  many */

{	30,		potionname,	OPOTION,	11,		3	},
{	20,		potionname,	OPOTION,	12,		5	},
{	40,		potionname,	OPOTION,	13,		3	},
{	35,		potionname,	OPOTION,	14,		2	},
{	520,	potionname,	OPOTION,	15,		1	},
{	90,		potionname,	OPOTION,	16,		2	},
{	200,	potionname,	OPOTION,	17,		2	},
{	220,	potionname,	OPOTION,	18,		4	},
{	80,		potionname,	OPOTION,	19,		6	},
{	370,	potionname,	OPOTION,	20,		3	},
{	50,		potionname,	OPOTION,	22,		1	},
{	150,	potionname,	OPOTION,	23,		3	},

/*cost	  memory 	iven name	iven arg   how
  gp	 pointer	  iven[]	ivenarg[]  many */

{ 100,	scrollname,		OSCROLL,	0,		2	},
{ 125,	scrollname,		OSCROLL,	1,		2	},
{ 60,	scrollname,		OSCROLL,	2,		4	},
{ 10,	scrollname,		OSCROLL,	3,		4	},
{ 100,	scrollname,		OSCROLL,	4,		3	},
{ 200,	scrollname,		OSCROLL,	5,		2	},
{ 110,	scrollname,		OSCROLL,	6,		1	},
{ 500,	scrollname,		OSCROLL,	7,		2	},
{ 200,	scrollname,		OSCROLL,	8,		2	},
{ 250,	scrollname,		OSCROLL,	9,		4	},
{ 20,	scrollname,		OSCROLL,	10,		5	},
{ 30,	scrollname,		OSCROLL,	11,		3	},

/*cost	  memory 	iven name	iven arg   how
  gp	 pointer	  iven[]	ivenarg[]  many */

{ 340,	scrollname,		OSCROLL,	12,		1	},
{ 340,	scrollname,		OSCROLL,	13,		1	},
{ 300,	scrollname,		OSCROLL,	14,		2	},
{ 400,	scrollname,		OSCROLL,	15,		2	},
{ 500,	scrollname,		OSCROLL,	16,		2	},
{ 1000,	scrollname,		OSCROLL,	17,		1	},
{ 500,	scrollname,		OSCROLL,	18,		1	},
{ 340,	scrollname,		OSCROLL,	19,		2	},
{ 220,	scrollname,		OSCROLL,	20,		3	},
{ 3900,	scrollname,		OSCROLL,	21,		0	},
{ 610,	scrollname,		OSCROLL,	22,		1	},
{ 3000,	scrollname,		OSCROLL,	23,		0	}
 };

/*
	function for the dnd store
 */
dnd_2hed()
    {
	lprcat("Welcome to the Larn Thrift Shoppe.  We stock many items explorers find useful\n");
	lprcat(" in their adventures.  Feel free to browse to your hearts content.\n");
	lprcat("Also be advised, if you break 'em, you pay for 'em.");
	}

dnd_hed()
	{
	register int i;
	for (i=dnditm; i<26+dnditm; i++)	dnditem(i);
	cursor(50,18); lprcat("You have ");
	}

dndstore()
  {
  register int i;
  dnditm = 0;
  nosignal = 1; /* disable signals */
  clear();  dnd_2hed();
  if (outstanding_taxes>0)
	{
	lprcat("\n\nThe Larn Revenue Service has ordered us to not do business with tax evaders.\n"); beep();
	lprintf("They have also told us that you owe %d gp in back taxes, and as we must\n",(long)outstanding_taxes);
	lprcat("comply with the law, we cannot serve you at this time.  Soo Sorry.\n");
	cursors();	
	lprcat("\nPress "); standout("escape"); lprcat(" to leave: "); lflush();
	i=0;
	while (i!='\33') i=getchar();
	drawscreen();  nosignal = 0; /* enable signals */ return;
	}

  dnd_hed();
  while (1)
	{
	cursor(59,18); lprintf("%d gold pieces",(long)c[GOLD]);
	cltoeoln(); cl_dn(1,20);	/* erase to eod */
	lprcat("\nEnter your transaction ["); standout("space");
	lprcat(" for more, "); standout("escape");
	lprcat(" to leave]? ");
	i=0;
	while ((i<'a' || i>'z') && (i!=' ') && (i!='\33') && (i!=12))  i=getchar();
	if (i==12) { clear();  dnd_2hed();  dnd_hed(); }
	else if (i=='\33')
		{ drawscreen();  nosignal = 0; /* enable signals */ return; }
	else if (i==' ')
		{
		cl_dn(1,4);
		if ((dnditm += 26) >= maxitm) dnditm=0; dnd_hed();
		}
	else
		{  /* buy something */
		lprc(i);	/* echo the byte */
		i += dnditm - 'a';
		if (i>=maxitm) outofstock(); else
		if (itm[i].qty <= 0) outofstock(); else
		if (pocketfull()) handsfull(); else
		if (c[GOLD] < itm[i].price*10) nogold(); else
			{
			if (itm[i].mem != 0) *itm[i].mem[itm[i].arg] = ' ';
			c[GOLD] -= itm[i].price*10;
			itm[i].qty--;  take(itm[i].obj,itm[i].arg);
			if (itm[i].qty==0) dnditem(i);  nap(1001);
			}
		}

	}
  }

/*
	function for the players hands are full
 */
static handsfull()
	{ lprcat("\nYou can't carry anything more!"); lflush(); nap(2200); }
static outofstock()
	{ lprcat("\nSorry, but we are out of that item."); lflush(); nap(2200); }
static nogold()
	{ lprcat("\nYou don't have enough gold to pay for that!"); lflush(); nap(2200); }

/*
	dnditem(index)

	to print the item list;  used in dndstore() enter with the index into itm
 */
static dnditem(i)
	register int i;
	{
	register int j,k;
	if (i >= maxitm)  return;
	cursor( (j=(i&1)*40+1) , (k=((i%26)>>1)+5) );
	if (itm[i].qty == 0)  { lprintf("%39s","");  return; }
	lprintf("%c) ",(i%26)+'a');
	if (itm[i].obj == OPOTION)
		{ lprcat("potion of "); lprintf("%s",&potionname[itm[i].arg][1]); }
	else if (itm[i].obj == OSCROLL)
		{ lprcat("scroll of "); lprintf("%s",&scrollname[itm[i].arg][1]); }
	else lprintf("%s",objectname[itm[i].obj]);
	cursor( j+31,k );  lprintf("%6d",(long)(itm[i].price*10));
	}


/*
	for the college of larn
 */
char course[26]=0;	/*	the list of courses taken	*/
char coursetime[] = { 10, 15, 10, 20, 10, 10, 10, 5 };
/*
	function to display the header info for the school
 */
sch_hed()
	{
	clear();
	lprcat("The College of Larn offers the exciting opportunity of higher education to\n");
	lprcat("all inhabitants of the caves.  Here is a list of the class schedule:\n\n\n");
	lprcat("\t\t    Course Name \t       Time Needed\n\n");

	if (course[0]==0) lprcat("\t\ta)  Fighters Training I         10 mobuls"); /*line 7 of crt*/
	lprc('\n');
	if (course[1]==0) lprcat("\t\tb)  Fighters Training II        15 mobuls");
	lprc('\n');
	if (course[2]==0) lprcat("\t\tc)  Introduction to Wizardry    10 mobuls");
	lprc('\n');
	if (course[3]==0) lprcat("\t\td)  Applied Wizardry            20 mobuls");
	lprc('\n');
	if (course[4]==0) lprcat("\t\te)  Behavioral Psychology       10 mobuls");
	lprc('\n');
	if (course[5]==0) lprcat("\t\tf)  Faith for Today             10 mobuls");
	lprc('\n');
	if (course[6]==0) lprcat("\t\tg)  Contemporary Dance          10 mobuls");
	lprc('\n');
	if (course[7]==0) lprcat("\t\th)  History of Larn              5 mobuls");

	lprcat("\n\n\t\tAll courses cost 250 gold pieces.");
	cursor(30,18);
	lprcat("You are presently carrying ");
	}

oschool()
	{
	register int i;
	long time_used;
	nosignal = 1; /* disable signals */
	sch_hed();
	while (1)
		{
		cursor(57,18); lprintf("%d gold pieces.   ",(long)c[GOLD]); cursors();
		lprcat("\nWhat is your choice ["); standout("escape");
		lprcat(" to leave] ? ");  yrepcount=0;
		i=0;  while ((i<'a' || i>'h') && (i!='\33') && (i!=12)) i=getchar();
		if (i==12) { sch_hed();  continue; }
		else if (i=='\33')
			{ nosignal = 0; drawscreen();  /* enable signals */ return; }
		lprc(i);
		if (c[GOLD] < 250)  nogold();  else
		if (course[i-'a'])
			{ lprcat("\nSorry, but that class is filled."); nap(1000); }
		else
		if (i <= 'h')
			{
			c[GOLD] -= 250; time_used=0;
			switch(i)
				{
				case 'a':	c[STRENGTH] += 2;  c[CONSTITUTION]++;
							lprcat("\nYou feel stronger!");
							cl_line(16,7);
							break;

				case 'b':	if (course[0]==0)
								{
								lprcat("\nSorry, but this class has a prerequisite of Fighters Training I");
								c[GOLD]+=250;  time_used= -10000;  break;
								}
							lprcat("\nYou feel much stronger!");
							cl_line(16,8);
							c[STRENGTH] += 2;  c[CONSTITUTION] += 2;  break;

				case 'c':	c[INTELLIGENCE] += 2; 
							lprcat("\nThe task before you now seems more attainable!");
							cl_line(16,9);  break;

				case 'd':	if (course[2]==0)
								{
								lprcat("\nSorry, but this class has a prerequisite of Introduction to Wizardry");
								c[GOLD]+=250;  time_used= -10000;  break;
								}
							lprcat("\nThe task before you now seems very attainable!");
							cl_line(16,10);
							c[INTELLIGENCE] += 2;  break;

				case 'e':	c[CHARISMA] += 3;  
							lprcat("\nYou now feel like a born leader!");
							cl_line(16,11);  break;

				case 'f':	c[WISDOM] += 2;  
							lprcat("\nYou now feel more confident that you can find the potion in time!");
							cl_line(16,12);  break;

				case 'g':	c[DEXTERITY] += 3;  
							lprcat("\nYou feel like dancing!");
							cl_line(16,13);  break;

				case 'h':	c[INTELLIGENCE]++;
							lprcat("\nYour instructor told you that the Eye of Larn is rumored to be guarded\n");
							lprcat("by a platinum dragon who possesses psionic abilities. ");
							cl_line(16,14);  break;
				}
			time_used += coursetime[i-'a']*100;
			if (time_used > 0)
			  {
			  gtime += time_used;
			  course[i-'a']++;	/*	remember that he has taken that course	*/
			  c[HP] = c[HPMAX];  c[SPELLS] = c[SPELLMAX]; /* he regenerated */ 

			  if (c[BLINDCOUNT])	c[BLINDCOUNT]=1;  /* cure blindness too!  */
			  if (c[CONFUSE])		c[CONFUSE]=1;	/*	end confusion	*/
			  adjtime((long)time_used);	/* adjust parameters for time change */
			  }
			nap(1000);
			}
		}
	}

/*
 *	for the first national bank of Larn
 */
int lasttime=0;	/* last time he was in bank */
obank()
	{
	banktitle("    Welcome to the First National Bank of Larn.");
	}
obank2()
	{
	banktitle("Welcome to the 5th level branch office of the First National Bank of Larn.");
	}
static banktitle(str)
	char *str;
	{
	nosignal = 1; /* disable signals */
	clear();  lprcat(str);
	if (outstanding_taxes>0)
		{
		register int i;
		lprcat("\n\nThe Larn Revenue Service has ordered that your account be frozen until all\n"); beep();
		lprintf("levied taxes have been paid.  They have also told us that you owe %d gp in\n",(long)outstanding_taxes);
		lprcat("taxes, and we must comply with them. We cannot serve you at this time.  Sorry.\n");
		lprcat("We suggest you go to the LRS office and pay your taxes.\n");
		cursors();	
		lprcat("\nPress "); standout("escape"); lprcat(" to leave: "); lflush();
		i=0;
		while (i!='\33') i=getchar();
		drawscreen();  nosignal = 0; /* enable signals */ return;
		}
	lprcat("\n\n\tGemstone\t      Appraisal\t\tGemstone\t      Appraisal");
	obanksub();		nosignal = 0; /* enable signals */
	drawscreen();
	}

/*
 *	function to put interest on your bank account
 */
ointerest()
	{
	register int i;
	if (c[BANKACCOUNT]<0) c[BANKACCOUNT] = 0;
	else if ((c[BANKACCOUNT]>0) && (c[BANKACCOUNT]<500000))
		{
		i = (gtime-lasttime)/100; /* # mobuls elapsed */
		while ((i-- > 0) && (c[BANKACCOUNT]<500000))
			c[BANKACCOUNT] += c[BANKACCOUNT]/250;
		if (c[BANKACCOUNT]>500000) c[BANKACCOUNT]=500000; /* interest limit */
		}
	lasttime = (gtime/100)*100;
	}

static short gemorder[26]=0;	/* the reference to screen location for each */
static long gemvalue[26]=0;	/* the appraisal of the gems */
obanksub()
	{
	unsigned long amt;
	register int i,k;
	ointerest();	/* credit any needed interest */

	for (k=i=0; i<26; i++)
		switch(iven[i])
			{
			case OLARNEYE: case ODIAMOND: case OEMERALD: 
			case ORUBY: case OSAPPHIRE:

					if (iven[i]==OLARNEYE)
						{
						gemvalue[i]=250000-((gtime*7)/100)*100;
						if (gemvalue[i]<50000) gemvalue[i]=50000;
						}
					else gemvalue[i] = (255&ivenarg[i])*100;
					gemorder[i]=k;
					cursor( (k%2)*40+1 , (k>>1)+4 );
					lprintf("%c) %s",i+'a',objectname[iven[i]]);
					cursor( (k%2)*40+33 , (k>>1)+4 );
					lprintf("%5d",(long)gemvalue[i]);  k++;
			};
	cursor(31,17); lprintf("You have %8d gold pieces in the bank.",(long)c[BANKACCOUNT]);
	cursor(40,18); lprintf("You have %8d gold pieces",(long)c[GOLD]);
	if (c[BANKACCOUNT]+c[GOLD] >= 500000)
		lprcat("\nNote:  Larndom law states that only deposits under 500,000gp  can earn interest.");
	while (1)
		{
		cl_dn(1,20);
		lprcat("\nYour wish? [("); standout("d"); lprcat(") deposit, (");
		standout("w"); lprcat(") withdraw, ("); standout("s");
		lprcat(") sell a stone, or "); standout("escape"); lprcat("]  ");
		yrepcount=0;
		i=0; while (i!='d' && i!='w' && i!='s' && i!='\33') i=getchar();
		switch(i)
			{
			case 'd':	lprcat("deposit\nHow much? ");	amt = readnum((long)c[GOLD]);
						if (amt<0) { lprcat("\nSorry, but we can't take negative gold!"); nap(2000); amt=0; } else
						if (amt>c[GOLD])
						  { lprcat("  You don't have that much.");  nap(2000); }
						else { c[GOLD] -= amt;  c[BANKACCOUNT] += amt; }
						break;

			case 'w':	lprcat("withdraw\nHow much? ");	amt = readnum((long)c[BANKACCOUNT]);
						if (amt<0) { lprcat("\nSorry, but we don't have any negative gold!");  nap(2000); amt=0; }
						else if (amt > c[BANKACCOUNT])
						  { lprcat("\nYou don't have that much in the bank!"); nap(2000); }
						else { c[GOLD] += amt;  c[BANKACCOUNT] -= amt; }		
						break;

			case 's':	lprcat("\nWhich stone would you like to sell? ");
						i=0; while ((i<'a' || i>'z') && i!='*') i=getchar();
						if (i=='*')
						  for (i=0; i<26; i++)
							{
							if (gemvalue[i]) 
								{
								c[GOLD]+=gemvalue[i];  iven[i]=0;
								gemvalue[i]=0;	k = gemorder[i];
								cursor( (k%2)*40+1 , (k>>1)+4 );
								lprintf("%39s","");
								}
							}
						else
							{
							if (gemvalue[i=i-'a']==0) 
								{
								lprintf("\nItem %c is not a gemstone!",i+'a');
								nap(2000); break;
								}
							c[GOLD]+=gemvalue[i];  iven[i]=0;
							gemvalue[i]=0;	k = gemorder[i];
							cursor( (k%2)*40+1 , (k>>1)+4 ); lprintf("%39s","");
							}
						break;

			case '\33':	return;
			};
		cursor(40,17); lprintf("%8d",(long)c[BANKACCOUNT]);
		cursor(49,18); lprintf("%8d",(long)c[GOLD]);
		}
	}

/*
	subroutine to appraise any stone for the bank
 */
appraise(gemstone)
	register int gemstone;
	{
	register int j,amt;
	for (j=0; j<26; j++)
	  if (iven[j]==gemstone)
		{
		lprintf("\nI see you have %s",objectname[gemstone]);
		if (gemstone==OLARNEYE) lprcat("  I must commend you.  I didn't think\nyou could get it.");
		lprcat("  Shall I appraise it for you? ");  yrepcount=0;
		if (getyn()=='y')
			{
			lprcat("yes.\n  Just one moment please \n");  nap(1000);
			if (gemstone==OLARNEYE)
				{
				amt = 250000-((gtime*7)/100)*100;
				if (amt<50000) amt=50000;
				}
			else amt = (255 & ivenarg[j]) * 100;
			lprintf("\nI can see this is an excellent stone, It is worth %d",(long)amt);
			lprcat("\nWould you like to sell it to us? ");  yrepcount=0;
			if (getyn()=='y') { lprcat("yes\n"); c[GOLD]+=amt;  iven[j]=0; }
			else lprcat("no thank you.\n");
			if (gemstone==OLARNEYE) lprcat("It is, of course, your privilege to keep the stone\n"); 
			}
		else lprcat("no\nO. K.\n");
		}
	}
/*
	function for the trading post
 */
static otradhead()
	{
    clear();
	lprcat("Welcome to the Larn Trading Post.  We buy items that explorers no longer find\n");
    lprcat("useful.  Since the condition of the items you bring in is not certain,\n");
    lprcat("and we incur great expense in reconditioning the items, we usually pay\n");
    lprcat("only 20% of their value were they to be new.  If the items are badly\n");
	lprcat("damaged, we will pay only 10% of their new value.\n\n");
	}

otradepost()
  {
  register int i,j,value,isub,izarg;
  dnditm = dndcount = 0;
  nosignal = 1; /* disable signals */
  resetscroll();	otradhead();
  while (1)
	{
	lprcat("\nWhat item do you want to sell to us ["); standout("*");
	lprcat(" for list, or "); standout("escape"); lprcat("] ? ");
	i=0; while (i>'z' || (i<'a' && i!='*' && i!='\33' && i!='.')) i=getchar();
	if (i == '\33')
		{ setscroll(); recalc(); drawscreen(); nosignal=0; /* enable signals */ return; }
	isub = i - 'a';		j=0;
	if (iven[isub]==OSCROLL) if (scrollname[ivenarg[isub]][0]==0)
		{ j=1; cnsitm(); }	/* can't sell unidentified item */
	if (iven[isub]==OPOTION) if (potionname[ivenarg[isub]][0]==0)
		{ j=1; cnsitm(); }	/* can't sell unidentified item */
	if (!j)
	  if (i=='*') { clear(); qshowstr(); otradhead(); }
	else  if (iven[isub]==0)  lprintf("\nYou don't have item %c!",isub+'a');
	else
		{
		for (j=0; j<maxitm; j++)
		  if ((itm[j].obj == iven[isub]) || (iven[isub] == ODIAMOND) || (iven[isub] == ORUBY) || (iven[isub] == OEMERALD) || (iven[isub] == OSAPPHIRE))
			{
			srcount=0;  show3(isub);	/* show what the item was */
			if ((iven[isub] == ODIAMOND) || (iven[isub] == ORUBY)
				|| (iven[isub] == OEMERALD) || (iven[isub] == OSAPPHIRE))
				value = 20*ivenarg[isub];
			else
			if ((itm[j].obj == OSCROLL) || (itm[j].obj == OPOTION))  value = 2*itm[j+ivenarg[isub]].price;
			else
				{
				izarg=ivenarg[isub];  value = itm[j].price;	/* appreciate if a +n object */
				if (izarg >= 0) value *= 2;
				while ((izarg-- > 0) && ((value=14*(67+value)/10) < 500000));
				}
			lprintf("\nItem (%c) is worth %d gold pieces to us.  Do you want to sell it? ",i,(long)value);
			yrepcount=0;
			if (getyn()=='y')
				{
				lprcat("yes\n"); c[GOLD]+=value;
				if (c[WEAR] == isub) c[WEAR] = -1;
				if (c[WIELD] == isub) c[WIELD] = -1;
				if (c[SHIELD] == isub) c[SHIELD] = -1;
				adjustcvalues(iven[isub],ivenarg[isub]);
				iven[isub]=0;
				}
			else lprcat("no thanks.\n");
			j = maxitm+100;	/* get out of the inner loop */
			}
		if (j <= maxitm+2) lprcat("\nSo sorry, but we are not authorized to accept that item.");
		}
	}
  }

cnsitm()
	{ lprcat("\nSorry, we can't accept unidentified objects."); }

/*
 *	for the Larn Revenue Service
 */
olrs()
	{
	register int i,first;
	unsigned long amt;
	first = nosignal = 1; /* disable signals */
	clear();  resetscroll(); cursor(1,4);
	lprcat("Welcome to the Larn Revenue Service district office.  How can we help you?");
	while (1)
		{
		if (first) { first=0; goto nxt; }
		cursors();
		lprcat("\n\nYour wish? [(");
		standout("p");
		lprcat(") pay taxes, or ");
		standout("escape");
		lprcat("]  ");  yrepcount=0;
		i=0; while (i!='p' && i!='\33') i=getchar();
		switch(i)
			{
			case 'p':	lprcat("pay taxes\nHow much? "); amt = readnum((long)c[GOLD]);
						if (amt<0) { lprcat("\nSorry, but we can't take negative gold\n"); amt=0; } else
						if (amt>c[GOLD])	lprcat("  You don't have that much.\n");
						else  c[GOLD] -= paytaxes((long)amt);
						break;

			case '\33':	nosignal = 0; /* enable signals */
						setscroll(); drawscreen();	return;
			};

nxt:	cursor(1,6);
		if (outstanding_taxes>0)
			lprintf("You presently owe %d gp in taxes.  ",(long)outstanding_taxes);
		else
			lprcat("You do not owe us any taxes.           ");
		cursor(1,8);
		if (c[GOLD]>0)
			lprintf("You have %6d gp.    ",(long)c[GOLD]);
		else
			lprcat("You have no gold pieces.  ");
		}
	}

SHAR_EOF
if test 20147 -ne "`wc -c < 'store.c'`"
then
	echo shar: error transmitting "'store.c'" '(should have been 20147 characters)'
fi
fi
echo shar: extracting "'.holidays'" '(2304 characters)'
if test -f '.holidays'
then
	echo shar: will not over-write existing file "'.holidays'"
else
cat << \SHAR_EOF > '.holidays'
"Jan 01 1986 New Years Day.  Any comment goes here.  Dont forget 01 not 1"
"Feb 17 1986 Washingtons Birthday (Presidents Day)"
"May 26 1986 Memorial Day"
"Jul 04 1986 Independence Day"
"Sep 01 1986 Labor Day"
"Oct 13 1986 Columbus Day"
"Nov 27 1986 Thanksgiving"
"Dec 25 1986 Christmas"

"Jan 01 1987 New Years Day.  Any comment goes here.  Dont forget 01 not 1"
"Feb 16 1987 Washingtons Birthday (Presidents Day)"
"May 25 1987 Memorial Day"
"Jul 04 1987 Independence Day"
"Sep 07 1987 Labor Day"
"Oct 12 1987 Columbus Day"
"Nov 26 1987 Thanksgiving"
"Dec 25 1987 Christmas"

"Jan 01 1988 New Years Day.  Any comment goes here.  Dont forget 01 not 1"
"Feb 15 1988 Washingtons Birthday (Presidents Day)"
"May 30 1988 Memorial Day"
"Jul 04 1988 Independence Day"
"Sep 05 1988 Labor Day"
"Oct 10 1988 Columbus Day"
"Nov 24 1988 Thanksgiving"
"Dec 25 1988 Christmas"

"Jan 01 1989 New Years Day.  Any comment goes here.  Dont forget 01 not 1"
"Feb 13 1989 Washingtons Birthday (Presidents Day)"
"May 28 1989 Memorial Day"
"Jul 04 1989 Independence Day"
"Sep 03 1989 Labor Day"
"Oct 15 1989 Columbus Day"
"Nov 29 1989 Thanksgiving"
"Dec 25 1989 Christmas"

"Jan 01 1990 New Years Day.  Any comment goes here.  Dont forget 01 not 1"
"Feb 12 1990 Washingtons Birthday (Presidents Day)"
"May 27 1990 Memorial Day"
"Jul 04 1990 Independence Day"
"Sep 02 1990 Labor Day"
"Oct 14 1990 Columbus Day"
"Nov 28 1990 Thanksgiving"
"Dec 25 1990 Christmas"

"Jan 01 1991 New Years Day.  Any comment goes here.  Dont forget 01 not 1"
"Feb 11 1991 Washingtons Birthday (Presidents Day)"
"May 26 1991 Memorial Day"
"Jul 04 1991 Independence Day"
"Sep 01 1991 Labor Day"
"Oct 10 1991 Columbus Day"
"Nov 27 1991 Thanksgiving"
"Dec 25 1991 Christmas"

"Jan 01 1992 New Years Day.  Any comment goes here.  Dont forget 01 not 1"
"Feb 10 1992 Washingtons Birthday (Presidents Day)"
"May 25 1992 Memorial Day"
"Jul 04 1992 Independence Day"
"Sep 07 1992 Labor Day"
"Oct 12 1992 Columbus Day"
"Nov 26 1992 Thanksgiving"
"Dec 25 1992 Christmas"

"Jan 01 1993 New Years Day.  Any comment goes here.  Dont forget 01 not 1"
"Feb 15 1993 Washingtons Birthday (Presidents Day)"
"May 30 1993 Memorial Day"
"Jul 04 1993 Independence Day"
"Sep 05 1993 Labor Day"
"Oct 10 1993 Columbus Day"
"Nov 24 1993 Thanksgiving"
"Dec 25 1993 Christmas"

SHAR_EOF
if test 2304 -ne "`wc -c < '.holidays'`"
then
	echo shar: error transmitting "'.holidays'" '(should have been 2304 characters)'
fi
fi
echo shar: extracting "'.larn.help.uue'" '(8675 characters)'
if test -f '.larn.help.uue'
then
	echo shar: will not over-write existing file "'.larn.help.uue'"
else
cat << \SHAR_EOF > '.larn.help.uue'
begin 644 .larn.help
M-2 @("!796QC;VUE('1O('1H92!G86UE(&]F($QA<FXN("!!="!T:&ES(&UO
M;65N="P@>6]U(&9A8V4@82!G<F5A="!P<F]B;&5M+@I9;W5R(&1A=6=H=&5R
M(&AA<R!C;VYT<F%C=&5D(&$@<W1R86YG92!D:7-E87-E+"!A;F0@;F]N92!O
M9B!Y;W5R(&AO;64@<F5M961I97,*<V5E;2!T;R!H879E(&%N>2!E9F9E8W0N
M("!9;W4@<V5N<V4@=&AA="!S:&4@:7,@:6X@;6]R=&%L(&1A;F=E<BP@86YD
M('EO=2!M=7-T"G1R>2!T;R!S879E(&AE<BX@(%1I;64@86=O('EO=2!H96%R
M9"!O9B!A(&QA;F0@;V8@9W)E870@9&%N9V5R(&%N9"!O<'!O<G1U;FET>2X*
M4&5R:&%P<R!H97)E(&ES('1H92!S;VQU=&EO;B!Y;W4@;F5E9"X*"B @("!)
M="!H87,@8F5E;B!S86ED('1H870@=&AE<F4@;VYC92!W87,@82!G<F5A="!M
M86=I8VEA;B!W:&\@8V%L;&5D(&AI;7-E;&8*4&]L:6YN96%U<RX@($UA;GD@
M>65A<G,@86=O+"!A9G1E<B!H879I;F<@;6%N>2!M:7)A8W5L;W5S('-U8V-E
M<W-E<RP@4&]L:6YN96%U<PIR971I<F5D('1O('1H92!C879E<FYS(&]F($QA
M<FXL('=H97)E(&AE(&1E=F]T960@;6]S="!O9B!H:7,@=&EM92!T;R!T:&4*
M8W)E871I;VX@;V8@;6%G:6,N(" @4G5M;W)S(&AA=F4@:70@=&AA="!O;F4@
M9&%Y(%!O;&EN;F5A=7,@<V5T(&]U="!T;R!D:7-P96P*86X@871T86-K:6YG
M(&%R;7D@:6X@82!F;W)E<W0@<V]M92!D:7-T86YC92!T;R!T:&4@;F]R=&@N
M("!)="!I<R!B96QI979E9"!T:&%T"FAE<F4@:&4@;65T(&AI<R!D96UI<V4N
M"@H@(" @5&AE(&-A=F5R;G,@;V8@3&%R;BP@:70@:7,@=&AO=6=H="P@;75S
M="!B92!M86=N:69I8V5N="!I;B!D97-I9VXL"F%N9"!C;VYT86EN(&UU8V@@
M;6%G:6,@86YD('1R96%S=7)E+B @3VYE(&]P=&EO;B!Y;W4@:&%V92!I<R!T
M;R!U;F1E<G1A:V4@80IJ;W5R;F5Y(&EN=&\@=&AE<V4@8V%V97)N<RX*"@H@
M(" @1V]O9"!,=6-K(2 @66]U)W)E(&=O:6YG('1O(&YE960@:70A"@H*"@H)
M"2 @(" ;6S1M2&5L<"!&:6QE(&9O<B!4:&4@0V%V97)N<R!O9B!,87)N&UMM
M"@IH("!M;W9E('1O('1H92!L969T"2 @($@@(')U;B!L969T"0D)+B @<W1A
M>2!H97)E"FH@(&UO=F4@9&]W;@D)(" @2B @<G5N(&1O=VX)"0E:("!T96QE
M<&]R="!Y;W5R<V5L9@IK("!M;W9E('5P"0D@("!+("!R=6X@=7 )"0EC("!C
M87-T(&$@<W!E;&P*;" @;6]V92!T;R!T:&4@<FEG:'0)(" @3" @<G5N(')I
M9VAT"0D)<B @<F5A9"!A('-C<F]L; IY("!M;W9E(&YO<G1H=V5S= D@("!9
M("!R=6X@;F]R=&AW97-T"0EQ("!Q=6%F9B!A('!O=&EO;@IU("!M;W9E(&YO
M<G1H96%S= D@("!5("!R=6X@;F]R=&AE87-T"0E7("!W96%R(&%R;6]R"F(@
M(&UO=F4@<V]U=&AW97-T"2 @($(@(')U;B!S;W5T:'=E<W0)"50@('1A:V4@
M;V9F(&%R;6]R"FX@(&UO=F4@<V]U=&AE87-T"2 @($X@(')U;B!S;W5T:&5A
M<W0)"7<@('=I96QD(&$@=V5A<&]N"EX@(&ED96YT:69Y(&$@=')A< D@("!G
M("!G:79E('!R97-E;G0@<&%C:R!W96EG:'0)4" @9VEV92!T87@@<W1A='5S
M"F0@(&1R;W @86X@:71E;0D@(" @(" @(" @(&D@(&EN=F5N=&]R>2!Y;W5R
M('!O8VME=',)42 @<75I="!T:&4@9V%M90IV("!P<FEN="!P<F]G<F%M('9E
M<G-I;VX@("!3("!S879E('1H92!G86UE"0E$("!L:7-T(&%L;"!I=&5M<R!F
M;W5N9 H_("!T:&ES(&AE;' @<V-R965N"2 @($$@(&-R96%T92!D:6%G;F]S
M=&EC(&9I;&4@(" @92 @96%T('-O;65T:&EN9PH)"0D)*'=I>F%R9',@;VYL
M>2D*;&%R;B K*R @(')E<W1O<F4@8VAE8VMP;VEN=&5D(&=A;64*;&%R;B M
M<R @(&QI<W0@=&AE('-C;W)E8F]A<F0*;&%R;B M:2 @(&QI<W0@<V-O<F5S
M('=I=&@@:6YV96YT;W)I97,*;&%R;B M;B @('-U<'!R97-S('=E;&-O;64@
M;65S<V%G92!W:&5N(&)E9VEN;FEN9R!A(&=A;64*;&%R;B M:" @('!R:6YT
M(&]U="!A;&P@=&AE(&-O;6UA;F0@;&EN92!O<'1I;VYS"FQA<FX@+3QN=6UB
M97(^(" @(" @<W!E8VEF>2!D:69F:6-U;'1Y(&]F('1H92!G86UE("AM87D@
M8F4@=7-E9"!W:71H("UN*0IL87)N("UO/&]P='-F:6QE/B @('-P96-I9GD@
M=&AE("YL87)N;W!T<R!F:6QE('1O(&)E('5S960*;&%R;B M8R @(" @(" @
M(" @8W)E871E(&YE=R!S8V]R96)O87)D<R M+2!P<F]M<'1S(&9O<B!A('!A
M<W-W;W)D"@D)"2 @(" ;6S=M4W!E8VEA;"!.;W1E<QM;;0H*5VAE;B ;6S=M
M9')O<'!I;F<@9V]L9!M;;2P@:68@>6]U('1Y<&4@)RHG(&%S('EO=7(@86UO
M=6YT+"!A;&P@>6]U<B!G;VQD(&=E=',@9')O<'!E9"X*26X@9V5N97)A;"P@
M='EP:6YG(&EN("<J)R!M96%N<R!A;&P@;V8@=VAA="!Y;W5R(&EN=&5R97-T
M960@:6XN("!4:&ES(&ES('1R=64*=VAE;B!V:7-I=&EN9R!T:&4@8F%N:RP@
M;W(@=VAE;B!C;VYT<FEB=71I;F<@870@86QT87)S+@H*3&%R;B!M87D@;F5E
M9"!A(!M;-VU65#$P,!M;;2!T;R!O<&5R871E+B @02!C:&5C:R!I<R!M861E
M(&]F('1H92!E;G9I<F]N;65N="!V87)I86)L90H;6S=M(E1%4DTB&UMM(&%N
M9"!I="!M=7-T(&)E(&5Q=6%L('1O(!M;-VTB=G0Q,# B&UMM+B @5&AI<R!O
M;FQY(&%P<&QI97,@:68@"G1H92!G86UE(&AA<R!B965N(&-O;7!I;&5D('=I
M=&@@(E94,3 P(B!D969I;F5D(&EN('1H92!-86ME9FEL92X@($EF(&-O;7!I
M;&5D"G1O('5S92 ;6S=M=&5R;6-A<!M;;2P@=&AE<F4@87)E(&YO('1E<FUI
M;F%L(')E<W1R:6-T:6]N<RP@<V%V92!N965D:6YG(&-M+"!C92P@)B!C; IT
M97)M8V%P(&5N=')I97,N"@I7:&5N(&EN('1H92!S=&]R92P@=')A9&EN9R!P
M;W-T+"!S8VAO;VPL(&]R(&AO;64L(&%N(!M;-VT\97-C87!E/AM;;2!W:6QL
M(&=E="!Y;W4@;W5T+@H*;&%R;B M;" @(" @(" @(" @<')I;G0@;W5T('1H
M92!L87)N(&QO9R!F:6QE( H*5VAE;B!C87-T:6YG(&$@<W!E;&PL(&EF('EO
M=2!N965D(&$@;&ES="!O9B!S<&5L;',@>6]U(&-A;B!C87-T+"!T>7!E("<;
M6S=M1!M;;2<@87,*=&AE(&9I<G-T(&QE='1E<B!O9B!Y;W5R('-P96QL+B @
M5&AE(&%V86EL86)L92!L:7-T(&]F('-P96QL<R!W:6QL(&)E('-H;W=N+ IA
M9G1E<B!W:&EC:"!Y;W4@;6%Y(&5N=&5R('1H92!S<&5L;"!C;V1E+B @5&AI
M<R!O;FQY('=O<FMS(&]N('1H92 Q<W0@;&5T=&5R"F]F('1H92!S<&5L;"!Y
M;W4@87)E(&-A<W1I;F<N"@I4:&4@075T:&]R(&]F($QA<FX@:7,@3F]A:"!-
M;W)G86X@*#$Y.#(M,RDL($-O<'EI;F<@9F]R(%!R;V9I="!I<R!0<F]H:6)I
M=&5D"D-O<'ER:6=H=" Q.3@V(&)Y($YO86@@36]R9V%N+"!!;&P@4FEG:'1S
M(%)E<V5R=F5D+@H)"0D;6S=M0F%C:V=R;W5N9"!);F9O<FUA=&EO;B!F;W(@
M3&%R;AM;;0H*(" @(%=E;&-O;64@=&\@=&AE(&=A;64@;V8@3&%R;BX@($%T
M('1H:7,@;6]M96YT+"!Y;W4@9F%C92!A(&=R96%T('!R;V)L96TN"EEO=7(@
M9&%U9VAT97(@:&%S(&-O;G1R86-T960@82!S=')A;F=E(&1I<V5A<V4L(&%N
M9"!N;VYE(&]F('EO=7(@:&]M92!R96UE9&EE<PIS965M('1O(&AA=F4@86YY
M(&5F9F5C="X@(%EO=2!S96YS92!T:&%T('-H92!I<R!I;B!M;W)T86P@9&%N
M9V5R+"!A;F0@>6]U(&UU<W0*=')Y('1O('-A=F4@:&5R+B @5&EM92!A9V\@
M>6]U(&AE87)D(&]F(&$@;&%N9"!O9B!G<F5A="!D86YG97(@86YD(&]P<&]R
M='5N:71Y+@I097)H87!S(&AE<F4@:7,@=&AE('-O;'5T:6]N('EO=2!N965D
M+@H*(" @($ET(&AA<R!B965N('-A:60@=&AA="!T:&5R92!O;F-E('=A<R!A
M(&=R96%T(&UA9VEC:6%N('=H;R!C86QL960@:&EM<V5L9@I0;VQI;FYE875S
M+B @36%N>2!Y96%R<R!A9V\L(&%F=&5R(&AA=FEN9R!M86YY(&UI<F%C=6QO
M=7,@<W5C8V5S<V5S+"!0;VQI;FYE875S"G)E=&ER960@=&\@=&AE(&-A=F5R
M;G,@;V8@3&%R;BP@=VAE<F4@:&4@9&5V;W1E9"!M;W-T(&]F(&AI<R!T:6UE
M('1O('1H90IC<F5A=&EO;B!O9B!M86=I8RX@("!2=6UO<G,@:&%V92!I="!T
M:&%T(&]N92!D87D@4&]L:6YN96%U<R!S970@;W5T('1O(&1I<W!E; IA;B!A
M='1A8VMI;F<@87)M>2!I;B!A(&9O<F5S="!S;VUE(&1I<W1A;F-E('1O('1H
M92!N;W)T:"X@($ET(&ES(&)E;&EE=F5D('1H870*:&5R92!H92!M970@:&ES
M(&1E;6ES92X*"B @("!4:&4@8V%V97)N<R!O9B!,87)N+"!I="!I<R!T:&]U
M9VAT+"!M=7-T(&)E(&UA9VYI9FEC96YT(&EN(&1E<VEG;BP*86YD(&-O;G1A
M:6X@;75C:"!M86=I8R!A;F0@=')E87-U<F4N("!/;F4@;W!T:6]N('EO=2!H
M879E(&ES('1O('5N9&5R=&%K92!A"FIO=7)N97D@:6YT;R!T:&5S92!C879E
M<FYS+@H*(" @($=O;V0@3'5C:R$@(%EO=2=R92!G;VEN9R!T;R!N965D(&ET
M(0H*"@H)"2 @(" ;6S=M2&]W('1O('5S92!T:&4@+FQA<FYO<'1S(&]P=&EO
M;B!F:6QE&UMM"@I4:&4@9FEL92 B+FQA<FYO<'1S(BP@:68@=7-E9"P@<VAO
M=6QD(&)E(&EN('EO=7(@:&]M92!D:7)E8W1O<GD@*'-E92 M;RDN"D$@<V5Q
M=65N8V4@;V8@=V]R9',@=&5R;6EN871E9"!B>2!W:&ET97-P86-E(&ES('5S
M960@=&\@<W!E8VEF>2!O<'1I;VYS+@H*"5=O<F0@(" @(" @(" @(" @(" @
M(" @("!-96%N:6YG"@H@(" @8F]L9"UO8FIE8W1S"0D@('-E;&5C="!B;VQD
M(&1I<W!L87D@;V8@;V)J96-T<PH@(" @:6YV97)S92UO8FIE8W1S"0D@('-E
M;&5C="!I;G9E<G-E('9I9&5O(&1I<W!L87D@;V8@;V)J96-T<PH@(" @;F\M
M:6YT<F]D=6-T:6]N"0D@(&1O(&YO="!D:7-P;&%Y(&EN=')O(&UE<W-A9V4*
M(" @(&5N86)L92UC:&5C:W!O:6YT:6YG(" @(" @(" @('1U<FX@;VX@<&5R
M:6]D:6,@8VAE8VMP;VEN=&EN9PH@(" @;F\M8F5E< D)"2 @9&ES86)L92!B
M965P:6YG(&]F('1H92!T97)M:6YA; H@(" @;6%L90D)"2 @8VAO;W-E('EO
M=7(@<V5X('1O(&)E(&$@;6%N"B @("!F96UA;&4)"0D@(&-H;V]S92!Y;W5R
M('-E>"!T;R!B92!A('=O;6%N"B @("!N86UE.B B>6]U<B!N86UE(@D)("!C
M:&]O<V4@>6]U<B!P;&%Y:6YG(&YA;64*(" @(&UO;G-T97(Z(")M;VYS="!N
M86UE(@D@(&-H;V]S92!A(&YA;64@9F]R(&$@;6]N<W1E<@H@(" @<V%V969I
M;&4Z(")S879E+69I;&4M;F%M92(@(" @9&5F:6YE('=H870@=&AE('-A=F5G
M86UE(&9I;&5N86UE('=I;&P@8F4*"EEO=7(@;F%M92!A;F0@;6]N<W1E<B!N
M86UE<R!M=7-T(&)E(&5N8VQO<V5D(&EN(&1O=6)L92!Q=6]T871I;VX@;6%R
M:W,@86YD(&UA>0IB92!U<"!T;R S-"!C:&%R86-T97)S(&QO;F<N("!,;VYG
M97(@;F%M97,@87)E('1R=6YC871E9"X@($%N>71H:6YG(&5N8VQO<V5D(&EN
M"G%U;W1A=&EO;B!M87)K<R!I<R!C;VYS:61E<F5D(&]N92!W;W)D+"!A;F0@
M;75S="!B92!S97!A<F%T960@9G)O;2!O=&AE<B!W;W)D<PIB>2!W:&ET97-P
M86-E+@H*"2 @(" @(" ;6S=M17AP;&%N871I;VX@;V8@=&AE($QA<FX@<V-O
M<F5B;V%R9"!F86-I;&ET>1M;;0H*(" @($QA<FX@<W5P<&]R=',@5%=/('-C
M;W)E8F]A<F1S+"!O;F4@9F]R('=I;FYE<G,L(&%N9"!O;F4@9F]R(&1E8V5A
M<V5D"F-H87)A8W1E<G,N("!%86-H('!L87EE<B H8GD@=7-E<FED(&]R('!L
M87EE<FED+"!S964@54E$4T-/4D4@:6X@36%K969I;&4I"FES(&%L;&]W960@
M;VYE('-L;W0@;VX@96%C:"!S8V]R96)O87)D+"!I9B!T:&4@<V-O<F4@:7,@
M:6X@=&AE('1O<"!T96X@9F]R"G1H870@<V-O<F5B;V%R9"X@(%1H:7,@9&5S
M:6=N(&AE;'!S(&EN<W5R92!T:&%T(&9R97%U96YT('!L87EE<G,@;V8@3&%R
M;@ID;R!N;W0@:&]G('1H92!S8V]R96)O87)D+"!A;F0@9VEV97,@;6]R92!P
M;&%Y97)S(&$@8VAA;F-E(&9O<B!G;&]R>2X@($QE=F5L"F]F(&1I9F9I8W5L
M='D@:7,@86QS;R!N;W1E9"!O;B!T:&4@<V-O<F5B;V%R9',L(&%N9"!T:&ES
M('1A:V5S('!R96-E9&5N8V4*;W9E<B!S8V]R92!F;W(@9&5T97)M:6YI;F<@
M=VAA="!E;G1R>2!I<R!O;B!T:&4@<V-O<F5B;V%R9"X@($9O<B!E>&%M<&QE
M.@II9B B66%R+"!T:&4@0G5G(%-L87EE<B(@:&%S(&$@<V-O<F4@;V8@,3(X
M,# S(&]N('1H92!S8V]R96)O87)D(&%T(&1I9F8@,"P*=&AE;B!H:7,@9V%M
M92!A="!D:69F(#$@86YD(&$@<V-O<F4@;V8@-#$Q,B!W;W5L9"!R97!L86-E
M(&AI<R!P<F5V:6]U<PIE;G1R>2!O;B!T:&4@<V-O<F5B;V%R9"X@($YO=&4@
M=&AA="!W:&5N(&$@<&QA>65R(&1I97,L(&AI<R!I;G9E;G1O<GD@:7,*<W1O
M<F5D(&EN('1H92!S8V]R96)O87)D('-O('1H870@979E<GEO;F4@8V%N('-E
M92!W:&%T(&ET96US('1H92!P;&%Y97(@:&%D"F%T('1H92!T:6UE(&]F(&AI
4<R!D96%T:"X*"@H*"@H*"@H*"@IY
 
end
SHAR_EOF
if test 8675 -ne "`wc -c < '.larn.help.uue'`"
then
	echo shar: error transmitting "'.larn.help.uue'" '(should have been 8675 characters)'
fi
fi
echo shar: extracting "'.larnmaze'" '(18513 characters)'
if test -f '.larnmaze'
then
	echo shar: will not over-write existing file "'.larnmaze'"
else
cat << \SHAR_EOF > '.larnmaze'
@###################################################################
#           #  .        #                 #     #     #     #   . #
#           D           D  .                       .        D .   #
###D##########################################  #     #     ###D###
#          -#                 #.    #      # ################ .  .#
#     ####### ######## ############ D #### #                #     #
# ... #.#   # #  # . # #            # #### # ############ # ###D###
#     #.# # # ## #   # # ############ #### # #-  #      # # #.    #
#  .  # # # # ## #-  # # #    -     D #### # # . D    # #.# # ... #
#     # #.# #    #   # # #   . .    # #    # #   #    # #-# # ~.! #
###D### ### #######D## # ############ ###### ########## ### #######
#                    #  @          .#        #     .....       ...#
###D###########################################################D###
#  .  #.....#     #     #     #    -#     #     #     #     #     #
#      .....    .       D           D                 D     D.    #
#     #.....#     #     #     #     #     #    .#     #     #     #
###################################################################

###################################################################
#.. .                   D  #                .  #              #-  #
############# ######### # ## ### ##### ## #### ###### ####### ### #
#.#!#~# #   #       .-# # #-   #    #   # # -# #      #           #
# # #.#  .  #   ####### # #    #    #   # #  # #      #       #####
# # ..# #####   #     # # #### #    ## ## ## # ###### ####### #   #
# - ..D #   D   #   . D # #  # #.##### ## ## # #. #.# #..#  # ### #
####### ####### ###   # # #    # #      # D  # D  D   #..D  #     #
#-                #   # # #### # ###### # ## # #. #   #..#    #####
### #######################- # # #    ######################  #   #
#   ...       #   .       #..# ###    #   - ..  .          #. ### #
#             #           #  # ###    #################### #  #   #
#                              ###                                #
################################################################# #
#-                        D    ###    #          #            #   #
#  .                      #            #                   #  D   #
###################################################################

###################################################################
#  ..                                                             #
# ############## ############################################## # #
#         #    # #                                #     ..    # # #
#         #D## # # ############D################# ########### # # #
######### #- # # # #-    D    # # ~  #          # #         # # # #
#       # #  # # # #   ### #  # #    D   -      # # ####### # # # #
#  .... # #### # # #   #!# #  # ######      ..  #.# #     # # # # #
#  .... #      # # # ### # #  # #    #########D#### # ### # # # # #
#  .... ######## # # D   # #- # #..  #       ...#.# # #.# # # # # #
#       #        # ###   # #### #.-  D   -      #.# #.#.# # # # # #
#####DD## ######## #     #    D D.   #          # # #...# # # # # #
# #   ..# #    # # ############################## # ##### # # # # #
# ......# #  #   #                                #       # # # # #
# ####### ###### ################################ ######### # ### #
#               .D.                                         #     #
###################################################################

###################################################################
#                  ##        ##            ###                ##  #
#  #####            ## ..-  ##            ##.##              ##   #
#  # ! ##            ## .  ##            ##  .##    ..      ##    #
#  #....######        ##  ##            ##  .  ##          ##     #
#  # -  #    ##        ##D#            ##  .    ##        ##      #
#  #####D  ~  ####### ###........     ## ...     ##      ##       #
#  #    #     ##        ##   ....    ##  .        ##    ##        #
#  #.   ########         ##         ##   .     -  ####D####   -   #
#  #.-  #...## ##   ...   ##        ###  ......  ##       ##      #
#  #.   #..##   ##         #########  ##    ... ##   ###   ## ..  #
#  #..  #.##     ## ## -  ##  .  ####  ##      ##   #####   ##    #
#  #####D##          ##  ##     ######  ##    ##   #######   ##   #
#  D  -.##            ####     ########  ##DD##    ########   #D  #
#  ######   ...        ##     ##########                       ## #
####                                                 .     .    ###
###################################################################

###################################################################
#                                                                 #
#     ####.########################################## ## ##########
#     #      #.#.#.#                   #.. #.   #           #     #
#######    # # # # #       #####       #!  #    ########### # ### #
#     #    # # # # #      ##...##      #   #    #         # # #-# #
# ..- D    # # # # #     ## .   ##     ####D#####  .. ### #   # # #
#     #    #       #    ##.   ~ .##    #   #    ###   # # ##### # #
############ # # # #   ##  . .   .##   #...# .. #.#   # #       # #
#  ..     .# # # # #   ##     -   ##   #   #    D.D   # ######### #
#      .   D # # # #    ##.......##    ####D#####.#   #           #
#   - .    # # # # #     ##     ##     # . #    ###   ########### #
############ #.#.# #      ###D###      # . #....#               # #
#            # #-# D               ..  #  .#    ###....##  ##-### #
####   ########################################## ######    ###   #
#         .                                                       #
###################################################################

###################################################################
#                                                                 #
#                        ###########################D#######  ##  #
#  #######################                    # ##...... ##   ##  #
#                        ########D######  #   # !##.... ##    ##  #
#   ############    ##  ##    ...      #  #   #...## ~ ## ######  #
#   #          #    #    # ......      #  #   # .. #####      ##  #
#   #    - ..  #    #    #   ###########  #   #  .  ######### ##  #
#   #####  #####    #    #   #            #   #...   ##       ##  #
#       #  #        ##########  ########  ########DD#### #######  #
#       #  #  ....  #        #  #             #     #  ##     ##  #
#   #####  #        #    ....#  #  #########  #     #   ##### ##  #
#   #-    ######D##########..#  #  #########  #  -  #..  ##   ##  #
#   #####  #                 #  #             #...  #.....##      #
#       #  ###################  ###############...  ####   # ######
#       #                                                         #
###################################################################

###################################################################
#                                                                 #
########### #####      #####     #####D####    #####       ###### #
#..       # #-..D ######   ##    # ##     #   ## ..##    ### #### #
#  #### ### ##### #         ##   #  ##### #  ## ### ##   #   #    #
#  #  # #       # # ##### #  ##  #      # ####  # #..##### - ###  #
#  #  # ####### ### #...# #   ########  #       # #~.   ....   #  #
#  #  #       #     #...# #          #  ######### ##############  #
#  #  ######  #######   # ###   ###  #       ..                #  #
#  #       #          - # #-#####!#  # #      ####  ## ####    #  #
#  ######  #   ########## #.. ....#  # ########  #  #  #  ##   ## #
#     -.#  #####          ####...##  #    .  .#  #..#  #   ##   # #
#    ####        ######      #.###   #####.####  ####  ###  ##  # #
#    #-    #######....####   ......      #.#       .     #   ## # #
#    #######             ##### ###########.###############    ### #
#                                         .                       #
###################################################################

###################################################################
#   #     #-   .      #   # # # # # #   #                         #
# # #     #####.##### # # # # # # # # # # ###########D########### #
# # #####     # # ### # # # # # # # # # ###     #....    #  #   # #
# #     #     #       # # # # # # # # # #       #.!. -.. #.##.# # #
# # . - #     # ####### # # # # # # # # #       ########## ## #   #
#.#######     #         #       D     #        .              # # #
#.     -#     ################################################### #
#   #####     D.                                             .    #
#  #         ###  ###D### ### ### ###D### ### ### ###D### ###.### #
#  # ######  ### .#    .# #.    # #     # #     # #     # # .   # #
#  ### # -#  ### .#. - .# #     # #...- # # ..  # #  -..# # .   # #
#      #  #  ###  #. ~ .# #     # #     # #     # # .. .# #     # #
#.######  #  ###  #     # #.....# #     # #     # #     # #     # #
# #      #######  ####### ####### ####### ####### ####### ####### #
# # ...                                       ..                  #
###################################################################

###################################################################
#           #  .        #     ###         #     #     #     #   . #
#           D           D  .        #              .        D .   #
############################################### #     #     ###D###
#          -#                 #.    #      # ################ .  .#
#     #######D######## ############ # #### #                #     #
# ... #.    # #!~  . # #            # #--# # ############ #####D###
#     #.# # # ## #   # # ############ #--# # #-  #      # # #.    #
#  .  # #-# # ## #-  # # #    -     D ## # # # . D #### #.# # ... #
#     # #-# #    #   # # #   . .    # #    # #   #    # #-# # -.- #
###D### ### ####### ## # ############ ###### ########## ### ###D###
#                    #  @          .               .....       ...#
#####################################           ###############D###
#  .  #.....#     #     #     #    -#           #     #     #     #
#      .....    .       D           D                 D     D.    #
#     #.....#     #     #     #     #          .#     #     #     #
###################################################################

###################################################################
#.. .       #           D                   .                 #-  #
### ######### ######### # ## ### ##### ## ########### ####### ### #
#.# #   #   #       .-# # #-   #    #   # # -# #      #           #
# # #.#  .  #   ####### # #    #    #   # #  # #      #       #####
# # ..#######   #     # # #### #    ## ## ##!# ###### ####### #   #
# - ..D #   D   #   . D # #  # #.##### ## ## # #. #.# #..#  # ### #
####### ####### ###   # # #    # #      # D  # D  D   #..D  #     #
#-                #   # # #### # ###### # ## # #. #   #..#    #####
### #######################- # # #    ######################  #   #
#   ...       #   .       #..# ###    #   - ..  .          #. ### #
#             #           #  # #-#    #################### #  #   #
#                         #     -#                                #
################################-################################ #
#-.....             # ####D    ###    #          #            #   #
#~.....              #    #            #                   #  D   #
###################################################################

###################################################################
#  ..                                                             #
# ############## ############################################## # #
#         #    # #                                #     ..    # # #
#         #D## # # ############D################# ########### # # #
######### #- # # # #-    D    # #.!..#          # #         # # # #
#   #   # #  # # # #   ### ## # #....D   -      # # ####### # # # #
#  .... # #### # # #   #~# #  # ######      ..  #.# #     # # # # #
###....##      # # # ###.# #  #      #########D## # # ### # # # # #
#  .... ######## # # D  .# #- #  ..  #       ...#.# # #.# # # # # #
#   #  ##        # ###  .# ####  .-  D   -      #.# #.#.# # # # # #
#####DD## ######## #... .#       .   #          # # #.#.  # # # # #
# #   ..# #      # ############################## # # ##### # # # #
# ......# #  # # #                                # #       # # # #
# ####### ###### ################################D# ######### ### #
#               .D.                                           #-.-#
###################################################################

###################################################################
#                  ##        ##         ##        ##          ##  #
#  ##############   ## ..-  ##          ##  .     ##         ##   #
#  #    #       ##   ## .  ##           ##   .    ##..      ##    #
#  #....######   ##   ##  ######## #######  .     ##       ##     #
#  # -  #    ##   ##   ##D#            ##  .      ##      ##      #
#  #          D###### ###........     ## ...      ##     ######   #
#  #    #     ##        ##   ....    ##  .        ##    ##  - #   #
#  #.   ########         ##         ##   .     -  ####D####.. D   #
#  #.-  #...## ##   ...   ##        ###  ......  ##       #####   #
#  #.   #..##   ##         #########  ##    ... ##   ###   ## ..  #
#  #..  #.##     ## ## -  ##  .  ####  ##      ##   #####   ##    #
#  #####D#######  #  ##  ##     ##..##  ##    ##   ##   ##   ##   #
#  D  -.##     #  #   ####     ##.-.-##  ##DD##    ### ####   ##  #
#  ######.  ...# ####  ##     #### #####                ##     ##D#
####~!....     D                                     .     .      #
###################################################################

###################################################################
#                                                                 #
#     ####.########################################## ## ##########
#     #      #.#.#.#                   #..  .   #           #     #
#######    # # # # #   #############   #        ########### # ### #
#     #    # # # # #    --##...##--    #        #         # # #-# #
# ..- D    # # # # #   #-## .   ##-#   ####D#####  .. ### #   # # #
#     #    #       #   ###.     .###   # ~ #    ###   ### ##### # #
############ # # # #   ##  . .   .##   #...# .. #.#             # #
#  ..     .# # # # #   ##     -   ##   #   #    D.    # ######### #
#      .   D # # # #   ###.......###   ####D#####.#   #           #
#   - .    # # # # #    -##     ##-    # .      ###   ########### #
############ #.#.# #   ######D######   # .  ....#               # #
#            #!#-# #               ..  #  .     ###....##  ##-### #
####   ##############################  ########## ######    ###   #
#  D      .                                                       #
###################################################################

###################################################################
#                                                                 #
#                        ###############D####################D#   #
#  #######################                    # ##......      #   #
#                        ########D######  #   #  ##....       #   #
#   ############### ##  ##    ...      #  #   #...##      #####   #
#   #    ~        # #    #!......      #  #   # .. #####      #   #
#   #    - ..     # #    #   ###########  #   #  .  ######### #   #
#   #####  ######## #    #   #         #  #   #...   ##       #   #
#       #  #      # ##########  ########  ########D #### ######   #
#       #  #  ....# #        #  #             #     #  ##     #   #
#   #####  # ###### #    ....#  #  #########  #     #   #####D#   #
#   #-    ## #      #######..#  #  #########  #  -  #..           #
#   #####  #                 #  #             #...  #.....        #
#       #  ###################  ###############...  ####     ######
#       #                                                         #
###################################################################

###################################################################
#                      #                                          #
########### #####      #         #####D####    #####       ###### #
#..       # #~..D ######   ##    # ##     #   ## ..##    ### #### #
#  #### ### ##### #         ##   #  ##### #  ## ### ##   #   #    #
#  #  # #       # # ##### #  ##  #      # ####  # #..##### - ###  #
#  #  # ####### ### #...# #   ########  #       # #!.   ....   #  #
#  #  #       #     #...# #          #  ######### ##############  #
#  #  ######  #######   # ###   ###  #       ..                #  #
#  #       #          - # #-    # #  #        ######## ####    #  #
#  #       #   ########## #.. ....#  # ########        #  ##   ## #
#  #  -.   #####          ####...##  #    .  .#   ..   #        # #
#  #             ######      #####   #####.####        #######  # #
#  #  -    #######....####   ......      #.#       .     #   ## # #
#  #########             ##### ###########.###############    ### #
#                                         .                       #
###################################################################

###################################################################
# D D     #-..........#     #   #   #   #                         #
#D#D#     #####.#####.# #   #   #   # # #############D########### #
# # #####     #.#~###.# #   #   #   # # ###      ....    #  #   # #
#D#     #     #.......# #   #   #   # # #        . . -.. #. #.# # #
# # . - #     #.####### #   #   #   # # ##################    #   #
#D#######     #.        #       D     #        .              # # #
#. D D -#     ################################################### #
#  ######      .                                             .    #
#  #    D    ###  ###D### ####### ###D### ####### ###D### ####### #
#  # ######  # # .#    .# #.    # #     # #     # #     # # .   # #
#  ###   -#  # # .#. - .# #     # #...- # # ..  # #  -..# # .   # #
#DD#      #  # #  #.   .# #     # #     # #     # # .. .# #     # #
#.######  #    #  #     # #.....# #     # #     # # !   # #     # #
# #      #######  ####### ### ### ####### ### ### ####### ### ### #
# # ...                                       ..                  #
###################################################################

SHAR_EOF
if test 18513 -ne "`wc -c < '.larnmaze'`"
then
	echo shar: error transmitting "'.larnmaze'" '(should have been 18513 characters)'
fi
fi
exit 0
#	End of shell archive