/* Released into public domain 1981 P. Scargill */ /* Modified for compatibility with Microsoft Mac80 relo assembler */ /* - some orig. labels were reserved words - Bill Soon, Nov. 1981 */ * Beginning of main Adventure database section. Encoded entirely in * * the ADVEN language. The file is processed by Microsoft Basic * * using the program MAKEADV, then assembled with Macro80 relocating * * assembler using the /Z switch (for Z80 code), then linked with * * ADVEN80.REL using a link program such as L80 or LINK80. * *** * OBJECT NAME/LOCATION and NAME/DESCRIPTION PAIRS * * also PROPERTIES OF OBJECTS and OBJECT DETAILED INFO * *** OBJLOC /* Object locations. The number following the object */ /* keyword is the location number where the object */ /* will reside at the beginning of the game */ STATUE 4 KEY 8 MATCH 5 LAMP 252 ULAMP 11 ENDTABLE OBJDES /* Object descriptions. The number following the */ /* object keyword is the description number from the */ /* UMESS table. All objects MUST have both LOCATION */ /* entries and DESCRIPTION entries. */ KEY 1 MATCH 2 LAMP 3 ULAMP 4 STATUE 6 ENDTABLE OBPROP /* Legal verbs associated with objects. */ /* Where no properties shown, objects considered to have */ /* universal properties. i.e., get drop etc. all work. */ /* Where properties are shown, only those are valid. */ STATUE LOOK,LICK ENDTABLE OBJDSK /* Where required, an object may have a special */ /* description. This is optional and may be as long as */ /* required, and may include conditionals as in the */ /* location tables. */ KEY 'It`s a shiny brass key%' MATCH 'an ordinary match&' LAMP 'looks like a kerosene lamp to me%' STATUE 'this is a statue of Venus%' ENDTABLE *** * WORDMATCH CONDITION/ACTION SETS * *** MATCHW /* Sets of match pairs, i.e., pairs of keywords, where */ /* either word may be the mask ANY, and the second word */ /* may be NULL (no word) or INP (replaced at runtime with */ /* user input.) */ /* An optional TEST section may precede the action entry */ /* following the rules of the CONDITION/ACTION tables. */ /* An ACTION entry is mandatory, and may allow dropping */ /* thru or termination as desired. */ MATCH GET,ANY TEST OH,INP ACTION TKE,INP,OK MATCH GET,NULL ACTION PRM,39,EXTB MATCH GET,ANY TEST OWC,INP ACTION PRM,44,EXTB MATCH INVEN,NULL ACTION INV,EXTB MATCH LOOK,AROUND ACTION GRUN MATCH DROP,ANY TEST OWC,INP ACTION DR,INP,OK MATCH DROP,ANY ACTION PRM,35,EXTB MATCH LOOK,NULL ACTION LA,EXTB MATCH LOOK,ANY TEST OP,INP ACTION DSCOB,INP,EXTB MATCH QUIT,ANY ACTION QT MATCH HELP,ANY ACTION PRM,40,EXTB MATCH WHO,ANY ACTION PRM,41,EXTB MATCH ON,LAMP TEST OC,ULAMP,OC,MATCH ACTION SWP,LAMP,FLIP,17,OK MATCH ON,LAMP TEST OC,ULAMP ACTION PR,05,EXTB MATCH OFF,LAMP TEST OC,LAMP ACTION SWP,LAMP,FLIP,17,OK MATCH ON,LAMP TEST OC,LAMP ACTION PRM,42,EXTB MATCH OFF,LAMP TEST OC,ULAMP ACTION PRM,42,EXTB MATCH UNLOCK,ANY TEST TF,23,01,OC,KEY,CL,9 ACTION SF,23,00,OK MATCH LOCK,ANY TEST TF,23,00,OC,KEY,CL,9 ACTION SF,23,01,OK MATCH INTO,ANY TEST TF,23,00,CL,9 ACTION MV,11 MATCH YES,ANY ACTION PRM,43 MATCH SCORE,ANY ACTION SC,EXTB MATCHALL ACTION PRM,37 ENDTABLE *** * STANDARD MESSAGES for SYSTEM USE mainly * *** MSG /* The positions of these messages MUST NOT be altered */ /* The first 20 are used by the System */ 1 '>That means nothing to me{@, I`m afraid}{?.} !!%' 2 ' North' 3 ' South' 4 ' East' 5 ' West' 6 ' Northeast' 7 ' Northwest' 8 ' Southeast' 9 ' Southwest' 10 ' Up' 11 ' Down' 12 ' In' 13 ' Out' 14 'Visible exits are ' 15 '>It`s dark, I can`t see anything{? at all}.' ' It is {@very }dangerous to move in the dark.%' 16 'I am {@presently }carrying ' 17 'I am wearing ' 18 'I can see ' 19 'nothing special' 20 '>I don`t {@quite }follow you. Could you try ' 're-phraseing that....%' 21 '>I can{@no}{?`}t go {@in that direction.}{?there.}%' 22 ' right' 23 ' left' 24 '>{Ehh!! }That doesn`t make sense{@, buddy} !%' 25 '>{@I`m sorry, but }I can see no such object here.%' 26 '>PROGRAM ERROR :-INVALID CONDITION ;;;; %' 27 '>Quitting with ' 28 ' points.%' 29 'Ok.%' 30 'Your{@ present } score is ' 31 '>PROGRAM ERROR :-CANT FIND OBJECT FOR ACTION ;;;; %' 32 '>PROGRAM ERROR :-INVALID CONDITION %' 33 '>Try again...I`m not sure which object you mean.%' 34 '>I am not wearing this item.%' 35 '>This is not among the items I am carrying.%' 36 '>I can`t see the object {@you mean }here...%' 37 '>{?Huh}{@Ehh} !%' 38 '>Sorry, I can`t {@possibly } carry anything else.%' 39 '>{?Sorry, I`m not sure from that what ' 'you want me to get}{@You want what} !%' 40 'I can`t help you {?at this time}{@I`m afraid}%' 41 '>Don`t ask silly questions{@, please} !&' 42 '>{@I believe I already did that !!%}' '{?It is already !!!!%}' 43 '>Sorry, no chance!%' 44 'But this is something I`m already carrying!%' 45 'Looks {@distinctly }ordinary to me!%' 46 '{?Sorry, that`s quite impossible.}' '{@I`m sorry but I can`t do that.}%' /* you may expand here if necessary, but preferably */ /* use the UMESS table for user messages (max 246 */ ENDTABLE *** * User defined messages, expandable up to 246 * *** UMESS 1 'a set of keys' 2 'some matches' 3 'an old kerosene lamp' 4 'old worn out lamp' 5 'What with..{@ my fingernails??}' /* note use of */ '{? I`m not carrying any matches!}%' /* random func. */ 6 'an old dirty statue' ENDTABLE *** * LOCATION DESCRIPTIONS AND EXIT CODES * *** LOC /* Locations with available exit table at start */ 1 NORMAL,2,N,2,3,S,10 'I am in the grounds of a mansion.%' 2 NORMAL,12,INTO,3,3,S,1,5,W,9 'I am at the front of the mansion.%' 3 NORMAL,22,RI,4,23,L,5,10,U,6,13,EXIT,2 'I am in a long Hallway. The light is dim here as there' ' has been no power here for a long time.%' 4 NOEXIT,13,EXIT,RTN 'I am in an old study. There are cobwebs all around.%' 5 NOEXIT,13,EXIT,RTN 'I`ve entered some sort of kitchen, by the looks of it. ' 'There`s a cooker of some kind, and a sink, but everything ' 'is broken and decayed.%' 6 NORMAL,11,DO,3,3,S,8,22,RI,7,23,L,7,2,N,7,6,NOE,7 'I am on a wierd sort of landing, with exits in many ' 'directions. The floor doesn`t look too safe to me!!%' 7 NOEXIT,13,EXIT,RTN 'I am facing a boarded-up door.%' 8 NOEXIT,13,EXIT,RTN 'I am in a pink bathroom. The bath has a big crack in it' ' and all the pipes are disconnected and rusted.%' 9 NORMAL,4,EA,2,5,W,10 'I am standing outside an old {Alocked-up }wooden ' 'shed. {AThe windows have been boarded-up.}%' 10 NORMAL,2,N,1,4,EA,9,11,DO,12 'I am standing in front of an old well. It looks like ' 'I could go down there perhaps.%' 11 NORMAL,13,EXIT,RTN 'I am inside an old wooden shed.%' 12 DARK,4,W,13,5,EA,14,10,U,10 'I am standing in a low, damp passageway.%' 13 DARK,5,EA,12,2,N,15 'I am in a narrow passage. To the North is a dead end.%' /* Expand up to 246 locations maximum */ ENDTABLE *** * KEYS. FIRST 15 ARE RESERVED...MUST NOT BE ALTERED. 'IT'=251 * *** TABKEY N 'N NORT' S 'S SOUT' EA 'E EAST' W 'W WEST' NOE 'NE ' SE 'SE ' NW 'NW ' SW 'SW ' U 'U UP ' DO 'D DOWN' L 'L LEFT' RI 'R RIGH' INTO 'IN INTOENTE' EXIT 'EXITLEAVOUT ' LOOK 'LOOKPERUEXAM' INVEN 'INVE' QUIT 'QUITEND STOPBYE ABOR' GET 'GET GRABTAKECARRPICK' DROP 'DROPREMO' OPEN 'OPEN' LAMP 'LAMP' ULAMP WEAR 'WEAR' LIFT 'LIFTPUSHMOVEPULLYANK' MATCH 'MATC' SCORE 'SCOR' AROUND 'AROUHERE' SAY 'SAY YELLSHOUCALLSCRE' OFF 'OFF UNLI' ON 'ON LIGHSTRIBURNALIGFIRE' HELP 'HELPASSI' BEGIN 'BEGISTAR' CLOSE 'CLOSSHUT' DOOR 'DOOR' READ 'READ' THROW 'THROHURLCHUC' LOCK 'LOCK' UNLOCK 'UNLO' JUMP 'JUMP' FORWARD 'FORW' BACKWARD 'BACK' BOARD 'NOTIBOARSIGN' WHO 'WHO WHENWHATIS WHERHOW WHY ' LISTEN 'LISTHEAR' NOTE 'NOTE' STUDY 'STUD' KITCHEN 'KITC' STAIRS 'UPSTSTAI' ROOM 'ROOM' BATH 'BATH' KEY 'KEY KEYS' SHED 'HUT SHED' FRONT 'FRON' GROUNDS 'GROU' WELL 'WELL' YES 'YES ' CARE 'CAREQUIECLOS' STATUE 'STATFIGU' /* IMPORTANT - no more than 246 keys (as many alternatives */ /* as required, up to one line. */ ENDTABLE *** * SIGN-ON MESSAGE. CHANGE AS NECESSARY FOR EACH ADV. * *** TITL1 CHR$(26) 'Welcome to ADVEN-80, a new type of Adventure%' 'game. I will be your eyes and ears in this game as we travel together%' 'through this journey. If you have problems, please re-phrase%' 'your sentence. Try asking for help if you like.%' ' %' 'Use the RUBOUT or DEL key to backspace over mistakes%' 'or use Control-U to delete your entire input line%' 'Hit any key to begin... good luck!' ENDTABLE FLAG 1 01 /* If 00 then dark location */ 2 00 /* No. of items carried. (AUTO) */ 3 02 /* Max No. of objects can carry (AUTO) */ 4 00 /* 3 Count up every turn (AUTO) */ 5 00 6 00 7 00 /* 3 Count down every turn (AUTO) */ 8 00 9 00 10 80 /* 2 Count down if dark & lamp on. (AUTO) */ 11 00 12 00 /* Counts up if dark & lamp Empty (AUTO) */ 13 00 /* Present Score (MANUAL UPDATE) */ 14 01 /* Present Location (After 1st loc., AUTO) */ 15 00 /* FF (normal) or FE (No directions) (AUTO) */ 16 00 /* Determines if we can see. 00=BLIND. (AUTO) */ 17 01 /* LAMP ON/OFF. ON=00, OFF=01 (MANUAL) */ 18 00 /* No. of items WORN (AUTO) */ 19 00 /* No. of items HERE (AUTO) */ 20 01 /* Last location store (AUTO) */ 21 00 /* 2 Special Test Flags (AUTO) */ 22 00 /* are set complementary at random. */ 23 01 /* 26 Flags (A=Z) for MANUAL text processing. */ 24 00 25 00 /* Will require init. for individual */ 26 00 /* Adventures. */ 27 00 /* Active any value other than 00. */ 28 00 29 00 30 00 31 00 32 00 33 00 34 00 35 00 36 00 37 00 38 00 39 00 40 00 41 00 42 00 43 00 44 00 45 00 46 00 47 00 48 00 /* maximum number is 246 - do not skip any numbers. */ ENDTABLE ENDGAME