-+-+-+-+-+-+-+-+ START OF PART 15 -+-+-+-+-+-+-+-+ X if (++scrline > 23) scrline=19; X X if (++scrline > 23) scrline=19; X tputs (tgoto (CM, 0, scrline), 1, ttputc Vh); X tputs (CE, 1, ttputch); X X if (--scrline < 19) scrline=23; X tputs (tgoto (CM, 0, scrline), 1, ttputc Vh); X tputs (CE, 1, ttputch); X `7D X else X `7B X tputs (tgoto (CM, 0, 19), 1, ttputch); X tputs (DL, 1, ttputch); X tputs (tgoto (CM, 0, 23), 1, ttputch); X /* tputs (AL, 1, ttputch); */ X `7D X `7D X else X `7B X ttputch ('\n'); cury++; X `7D X curx = 0; X break; X case T_INIT: X if (TI) X tputs(TI, 1, ttputch); X break; X case T_END: X if (TE) X tputs(TE, 1, ttputch); X break; X default: X ttputch (*str); X curx++; X `7D X `7D X `7D X lpnt = lpbuf; X flush_buf(); /* flush real output buffer now */ X `7D X#else VT100 X/* X * lflush() flush the output buffer X * X * Returns nothing of value. X */ Xlflush() X `7B X register int lpoint; X if ((lpoint = lpnt - lpbuf) > 0) X `7B X#ifdef EXTRA X c`5BBYTESOUT`5D += lpoint; X#endif X if (write(lfd,lpbuf,lpoint) != lpoint) X write(2,"error writing to output file\n",29); X `7D X lpnt = lpbuf; /* point back to beginning of buffer */ X `7D X#endif VT100 X X#ifndef VT100 Xstatic int index=0; X/* X * ttputch(ch) Print one character in decoded output buffer. X */ Xstatic int ttputch(c) Xint c; X `7B X outbuf`5Bindex++`5D = c; X if (index >= BUFBIG) flush_buf(); X `7D X X/* X * flush_buf() Flush buffer with decoded output. X */ Xstatic flush_buf() X `7B X if (index) write(lfd, outbuf, index); X index = 0; X `7D X X/* X * char *tmcapcnv(sd,ss) Routine to convert VT100 escapes to termcap forma Vt X * X * Processes only the \33`5B#m sequence (converts . files for termcap use`2 V0 X */ Xchar *tmcapcnv(sd,ss) `20 X register char *sd,*ss; X `7B X register int tmstate=0; /* 0=normal, 1=\33 2=`5B 3=# */ X char tmdigit=0; /* the # in \33`5B#m */ X while (*ss) X `7B X switch(tmstate) X `7B X case 0: if (*ss=='\33') `7B tmstate++; break; `7D X ign: *sd++ = *ss; X ign2: tmstate = 0; X break; X case 1: if (*ss!='`5B') goto ign; X tmstate++; X break; X case 2: if (isdigit(*ss)) `7B tmdigit= *ss-'0'; tmstate++; break V; `7D X if (*ss == 'm') `7B *sd++ = ST_END; goto ign2; `7D X goto ign; X case 3: if (*ss == 'm') X `7B X if (tmdigit) *sd++ = ST_START; X else *sd++ = ST_END; X goto ign2; X `7D X default: goto ign; X `7D; X ss++; X `7D X *sd=0; /* NULL terminator */ X return(sd); X `7D X#endif VT100 X X/* X * beep() Routine to emit a beep if enabled (see no-beep in .larnopts) X */ Xbeep() `7B X if (!nobeep) *lpnt++ = '\7'; X `7D $ CALL UNPACK IO.C;1 1616709676 $ create 'f' X$ write sys$output "There are bugs in LARN:" X$ write sys$output " LARN will not properly add a score to the high score l Vist." X$ define/nolog larndir mas$games:`5Blarn`5D X$ define/nolog termcap larndir:termcap.vms X$ larn := $larndir:larn X$ def/nolog/user sys$input sys$command X$ larn 'p1 'p2 'p3 'p4 'p5 'p6 'p7 'p8 X$ exit $ CALL UNPACK LARN.COM;1 441547005 $ create 'f' Xgem value = gem * 2 `5E perfection Xsitting down can have unexpected results Xdon't pry into the affairs of others Xdrinking can be hazardous to your health Xbeware of the gusher! Xsome monsters are greedy Xnymphs have light fingers Xtry kissing a disenchantress! Xthe Eye of Larn improves with time Xhammers and brains don't mix Xwhat does a potion of cure dianthroritis taste like? Xhit point gain/loss when raising a level depends on constitution Xhealing a mighty wizard can be exhilarating Xbe sure to pay your taxes Xare Vampires afraid of something? Xsome dragons can fly Xdos thou strive for perfection? Xpatience is a virtue, unless your daughter dies Xwhat does the Eye of Larn see in its guardian? Xa level 25 player casts like crazy! Xenergy rings affect spell regeneration Xmy, aren't you clever! Xdifficulty affects regeneration Xcontrol of the pesty spirits is most helpful Xdon't fall into a bottomless pit Xdexterity allows you to carry more Xyou can get 2 points of WC for the price of one Xnever enter the dungeon naked! the monsters will laugh at you! Xdid someone put itching powder in your armor? Xyou klutz! Xavoid opening doors. you never know whats on the other side. Xinfinite regeneration ---> temptation Xthe greatest weapon in the game has not the highest Weapon Class Xyou can't buy the most powerful scroll Xidentify things before you use them Xthere's more than one way through a wall $ CALL UNPACK LARN.FTN;1 743582539 $ create 'f' X7 Welcome to the game of Larn. At this moment, you face a great problem. V`0AYour daughter has contracted a strange disease, and none of your home rem Vedies`0Aseem to have any effect. You sense that she is in mortal danger, an Vd you must`0Atry to save her. Time ago you heard of a land of great danger V and opportunity.`0APerhaps here is the solution you need.`0A`0A It has b Veen said that there once was a great magician who called himself`0APolinneau Vs. Many years ago, after having many miraculous successes, Polinneaus`0A Xretired to the caverns of Larn, where he devoted most of his time to the`0Ac Vreation of magic. Rumors have it that one day Polinneaus set out to dispel V`0Aan attacking army in a forest some distance to the north. It is believed V that`0Ahere he met his demise.`0A`0A The caverns of Larn, it is thought, V must be magnificent in design,`0Aand contain much magic and treasure. One V option you have is to undertake a`0Ajourney into these caverns.`0A`0A`0A V Good Luck! You're going to need it!`0A`0A`0A`0A`0A `1B`5 VB7mHelp File for T Xhe Caverns of Larn, Prompt Mode`1B`5Bm`0A`0Ab move southwest B ru Vn southwest S save the game`0Ah move left H run V left . stay here`0Aj move down J run down V `5E identify a trap`0Ak move up K run up V T take off armor`0Al move right L run rig Vht`0An move southeast N run southeast`0Au move northeast V U run northeast`0Ay move northwest Y run northwest V `5EL red Xraw the screen`0Ac cast a spell Z teleport yourself`0Ad drop a Vn item e eat something`0Ag get present pack weight P give tax V status`0Ai inventory your pockets I list all items found ? this hel Vp screen`0Aq quaff a potion Q quit the game`0Ar read a scroll V v print program version`0Aw wield a weapon W wear arm Vor `5EL redraw the screen`0A`0A`0A`0A`0A`0A`0A V `1B`5B7mHelp File for The Caverns of Larn, Command Mode`1B`5 VBm`0A`0Ab move southwest B run`20 Xsouthwest A desecrate an altar`0Ac cast a spell C c Vlose a door Z teleport yourself`0Ad drop an item D V drink at a fountain < go up stairs or`0Ae eat something E V enter a store, dungeon volcanic shaft`0Ag get present pack weight V > go down stairs or`0Ah move left V H run left volcanic shaft`0Ai inventory V your pockets I list all items found ? this help screen`0Aj move dow Vn `20 X J run down `5E identify a trap`0Ak move up V K run up , pick up item`0Al move right V L run right : look at object you`0An move so Vutheast N run southeast are standing on`0A V O open a door or chest . stay here`0Ap pra Vy at an altar P give tax status m move without picking`0Aq V quaff a potion Q quit the game up an object`0Ar r Vead a scroll `20 X R remove gems from throne @ toggle auto-pickup`0As sit on a thron Ve S save the game / identify objects in`0At tidy up at V a fountain T take off armor the game`0Au move northeast V U run northeast`0Av print program version`0Aw wield a weapon V W wear armor`0Ay move northwest Y run northwest V `5EL redraw the screen`0A `1B`5B7mSpecial Notes`1 VB`5Bm`0A`0AWhen `1B`5B7mdropping gold`1B`5Bm, if you type '*' as your amount V, all your gold gets dropped. X`0AIn general, typing in '*' means all of what your interested in. This is V true`0Awhen visiting the bank, or when contributing at altars.`0A`0ALarn ne Veds the ANSI.SYS (or preferably, the NANSI.SYS) device driver installed`0Ain V your CONFIG.SYS file. The supplied "termcap" file describes the escape`0As Vequences to change video modes (see ch 13 of the DOS 2.0 manual). See the`0 VA"TERMCAP" section in LARN.DOC for further details.`0A`0AWhen in the store, V trading post, school, or home, an `1B`5B7m`1B`5Bm will get you out. V`0A`0AWhen c Xasting a spell, if you need a list of spells you can cast, type '`1B`5B7mI`1 VB`5Bm' as`0Athe first letter of your spell. The available list of spells wi Vll be shown,`0Aafter which you may enter the spell code. This only works on V the 1st letter`0Aof the spell you are casting.`0A`0AWhen an inventory list V is on the screen from a drop, quaff, read, or similar`0Acommand, you can ty Vpe the letter of the object that you wish to act apon,`0Awithout having to t Vype a space to get back to the prompt.`0A`0AThis version of Larn is by Kevin V Routle Xy.`0A `1B`5B7mLarn Command Line Options`1B`5Bm`0A`0Al Varn ++ restore checkpointed game`0Alarn -s l Vist the scoreboard`0Alarn -i list scores with inventories`0A Vlarn -n suppress welcome message when beginning a game`0Alar Vn -h print out all the command line options`0Alarn -? V print out all the command line options`0Alarn - V specify difficulty of the game`0Alarn -o specify t Vhe option file to b Xe used`0Alarn -c create new scoreboards -- prompts for a pas Vsword`0Alarn -l print out the larn log file`0Alarn -p V play in prompt mode`0A`0A`0A`0A`0A`0A`0A`0A`0A`0A`0A V `1B`5B7mBackground Information for Larn`1B`5Bm`0A`0A Welcome V to the game of Larn. At this moment, you face a great problem.`0AYour daug Vhter has contracted a strange disease, and none of your home remedies`0Aseem V to have any effect. You sense that she is in mortal danger, and you must`0 VAtry to save her. Time ago you heard of`20 Xa land of great danger and opportunity.`0APerhaps here is the solution you n Veed.`0A`0A It has been said that there once was a great magician who call Ved himself`0APolinneaus. Many years ago, after having many miraculous succe Vsses, Polinneaus`0Aretired to the caverns of Larn, where he devoted most of V his time to the`0Acreation of magic. Rumors have it that one day Polinnea Vus set out to dispel`0Aan attacking army in a forest some distance to the no Vrth. It is believed that`0Ahere he met his demise.`0A`0A The caverns of V L Xarn, it is thought, must be magnificent in design,`0Aand contain much magic V and treasure. One option you have is to undertake a`0Ajourney into these c Vaverns.`0A`0A Good Luck! You're going to need it!`0A`0A`0A`0A V `1B`5B7mHow to use the larn.opt option file`1B`5Bm`0A`0AThe file V "larn.opt", if used, should be in a directory along your PATH.`0AA sequence V of words terminated by whitespace is used to specify options.`0A`0A Word V Meaning`0A cursor: lowscan highscan change the sha Vpe of the cursor`0A DECRain Xbow tell LARN you have that computer`0A enable-checkpointi Vng turn on periodic checkpointing`0A graphics: wallc floorc selec Vt graphics maze characters`0A keypad enable the numeri Vc keypad for moving`0A larndir: directory the directory to use for V larn files`0A monster: "monst name" choose a name for a monster`0A V name: "your name" choose your playing name`0A no-beep V disable beeping of the terminal`0A no-introduction V `20 X do not display intro message`0A savefile: save-file-name define what th Ve savegame filename will be`0A swapfile: swap-file-name define the name V of the swapfile`0A`0AYour name and monster names must be enclosed in double V quotation marks and may`0Abe up to 34 characters long. Longer names are tr Vuncated. Anything enclosed in`0Aquotation marks is considered one word, and V must be separated from other words`0Aby whitespace.`0A `1B`5B7mEx Vplanation of the Larn scoreboard facility`1B`5Bm`0A`0A Larn supports TWO V scoreboar Xds, one for winners, and one for deceased`0Acharacters. Each player (by use Vrid or playerid, see UIDSCORE in Makefile)`0Ais allowed one slot on each sco Vreboard, if the score is in the top ten for`0Athat scoreboard. This design V helps insure that frequent players of Larn`0Ado not hog the scoreboard, and +-+-+-+-+-+-+-+- END OF PART 15 +-+-+-+-+-+-+-+-