"VERBS for M3 Copyright (C) 1984 Infocom, Inc. All rights reserved." 1>> > -2>> > > > ) (,PRSO ) (ELSE ) (T )>)>> " " "ZORK game commands" "SUBTITLE SETTINGS FOR VARIOUS LEVELS OF DESCRIPTION" > > > ) (<==? ,L-PRSA ,V?WALK> ) (T >> ,L-PRSO) (>> ,L-PRSI)>> >> ) (T )>)>> > > > > > > > > > ) (T )>> > )) #DECL ((NUM HR) FIX (AM) ) > 12> > ) (<==? .HR 12> )> > 10> )> >)> > > )> > > (SCOR) FIX) > > ) (ELSE )>> )>> > ) (T )>> )>)>> ) (T )>> ; 8> 0>> )> *3777*>> > 23> ) (T >)>> > > > ) "AUX" W) )> "> > )> > > ) ( ) ( )>>> " " "SUBTITLE - GENERALLY USEFUL ROUTINES & CONSTANTS" "DESCRIBE-OBJECT -- takes object and flag. if flag is true will print a long description (fdesc or ldesc), otherwise will print short." ) AV) > )> ,M-OBJDESC>> )> ; ) (T )> > >> >>> ) (<0? .LEVEL> ) (T )> ) (ELSE > > ) (T )>)>)> > >> )> > )>> )) > -1>)>> ) "AUX" V? (F? <>) STR L) > > )> ,BALLROOM-LINE-C> )> ) (T )> ) (> ,VEHBIT> ) ( > ) (T )> )> > > >> ) (ELSE )> )> ,M-LOOK>> ) (>> ) (>> ) (T ,M-FLASH>)> > ,M-LOOK>)>)> )> T> "Lengths:" "Uncondl EXIT:(dir TO rm) = rm" "Non EXIT: (dir string) = str-ing" "Fcnl EXIT: (dir PER rtn) = rou-tine, 0" "Condl EXIT: (dir TO rm IF f) = rm, f, str-ing" "Door EXIT: (dir TO rm IF dr IS OPEN) = rm, dr, str-ing, 0" "GETB" "GET" "GETB" "GET" ) (> >)> >> ) ( ) (ELSE )>)>> > > )) #DECL ((RM) OBJECT) )> > ) (T )> ) (>> ) ( ,DUFFY-SNARFED> ) (ELSE )>)> ,M-ENTER> )>> > ) (T CR>)>> > )) )> ) ( ) ( ,ROOMS ,GLOBAL-OBJECTS> ) (T >)>> ) (> ,WINNER>>> ) (> ,OPENBIT>>> ) (T > )>> > ; (CNT) FIX (OBJ) OBJECT) > > )> ) ( ,WINNER>> > ,LOAD-ALLOWED>> ,LOAD-ALLOWED> ) (T )> )> ) (> ,FUMBLE-NUMBER> )> ) (T )>> > > >)> >> )>>)> .CNT> > > ) (LEVEL 0) "AUX" Y 1ST? AV (STR <>) (PV? <>) (INV? <>)) #DECL ((OBJ) OBJECT (LEVEL) FIX) >> )> > > >> T) (ELSE >)> > ) (ELSE >) (<==? .Y .AV> ) (<==? .Y ,WINNER>) (> > ,M-OBJDESC> >>> > > > ) (T )>)>)> ,P?DESCFCN>> > )>)> >>)> > > )> >) () (> >>> > )>)> > >)> ) ( > )>)> >>> ) (NOT-OBJ <>) "AUX" F N (1ST? T)) #DECL ((OBJ) OBJECT (F N) ) > > > >> )> >) (ELSE )>)> ) (T )> ) (T )>)> >)>>)>> > > ) (T )>) ( ,HERE ,GLOBAL-OBJECTS> > ) (T )>> ,VEHBIT>> ,HERE) (ELSE ) ( )> ) (ELSE >)>>)>> > >>> "WEIGHT: Get sum of SIZEs of supplied object, recursing to the nth level." (WT) FIX) 0) (T > >> >> )>>)> <+ .WT >)>> > > " " "SUBTITLE REAL VERBS" )> > ) (> ) (> )>> > ; > > )> )>> > > > > > ) (T )>> )>> > > ) ( ) (> ) (ELSE )>> > ) (> ) (T )>> <==? ,HERE >> ) ;(> )>> > > >> > ) ( ) (T )>) (T CR>)>> > ,PERSON> > ) ( <==? ,HERE >> )>> > > > > ) (HERE? <>)) > )> ,HERE>> > > ) ( > )> ) (ELSE )> ) (T )>) (T > )>) (T )>> > > )>> > ) ( > > ) (>> ) (<==? ,PRSO ,INTNUM> > > ) ( > ) ( > ) ( > ) ( ) ( ) (T )>) ( ) (> ) ( ) (T )>> > > ) (T )>) ( ) (T > )>> ) "AUX" X) #DECL ((DIR) FIX (OBJ) (X) TABLE) ) ( ) (ELSE CR>)>> )>> > ) (T )>> > >> ) ( > ) (T )>) (T )>) (> 0>>> ) (ELSE > )>> > ) (T )>) (ELSE ) ( ) ( ) (T > ) (>> ) (T )>)>)>> <==? 1 >> ) (<==? 2 > > )>> ) (T )>> ) (T CR>)>) (T CR>)>> > > ) ( ) (T )>) (> ) ( >> ) (T )> ) (T )>> ,OUTSIDE-LINE-C> ) (T )> )>> > ) (DRINK? <>)) #DECL ((NOBJ) (EAT? DRINK?) ) > > ) (ELSE )>) (ELSE )>) (> ) (ELSE )>> > %> ' ,INCHAN>>)> ; FOLLOW" )>> > ) (> ) ( ) (ELSE )>) ( ) (> ) (T )>) ( ) (T > )> ) ( ) (> ) ( ) (ELSE CR>)>> > > > > > > )> >)>)> ) (ELSE )>> ) (> )>> ,HERE ,LOCAL-GLOBALS>>> ) (T )>) (> ) ( ) (ELSE )>> ) > 1>>)>> >> > .CHR>> >)> >> ) ( ,MICHAEL-SEEN-CORPSE?> ,RICHARD-SEEN-CORPSE?>> ) (T )>)> > >> )> > ) (T )>) (<0? .NUM> ) (T )>) (T > ) (T )> > )> ) ( ) ( ) ( ) ( ) ( ) (T )> > )> )> ) ( >> ) ( ) ( > )> ) (T )> > )> ) (> ) ( ) ( ) (T )>) ( ,HERE> > >>> )>> > > )) > )> ) (T )> > )> ) (> > ) (ELSE >>> ) ( > ) (ELSE )>)> ) (T )>) ( ) ( ) ( <==? ,PRSO ,PSEUDO-OBJECT> > ) ( ,HERE>>> ) ( ) ( ) ( ) (ELSE )>> > ) (ELSE )>) (T )>> )) ) (> ) (> <==? ,HERE >>> ) ( ) ( > > ) (> ) (ELSE )>) (> ) (> > 0>>> > ) (T )>> ,OUTSIDE-LINE-C> >> > )>> > > ) (T )>> > > >> ) (T )>> >> > ) ( ) (ELSE )>) (ELSE "\" to " A .P "." CR>)>) (T )>> ) (T )>> > ) ( )>> ) (T )> > > ) (ELSE > )>> > ) (T > )>> > ) (T )>> ) ( ,HERE>> >> ) ( ) ( ) (ELSE )>> > ) ( > ) ( ) (> ) ( ) ( ) (T )>) ( ) ( ) (T )>> > ) (T )>> > > ) (T )>) ( ) (ELSE )>> >> ) (> > > .OBJ>> >)>)>>> ;> ) ( ,SURFACEBIT> ,FURNITURE>> > ) (T )>> ) ( >> ) ( ,GLOBAL-ROOM> ) (ELSE )>)>> > > > ) (ELSE )>) ( ) (ELSE )>) ( > ) (ELSE )>) (ELSE )>> > >> ) ( ; 0>>> ) ( ) ( ) ( ,ROOMS> ) ( ,HERE>> ) (T )>) (T > )>> )>> > ,OUTSIDE-LINE-C> ) (T )>) (<==? ,PRSO ,HALLWAY> > )>) (T )>> > > > > ) (T )>) (ELSE )>) ( > ) ( > ) ( ) (T )>) (ELSE )>) ( ) (ELSE > ) (<==? .DIR ,P?OUT> ) (ELSE )>)>> > )> )>> >> ) ( T) (> > > <==? .THERE>> ) ( <==? .THERE>> ,OPENBIT> ) (T )>) ( <==? .THERE>> > ) (T )>)>)>>> > ) (T )>> > ) ( ) ( ,HERE ,LOCAL-GLOBALS ,GLOBAL-OBJECTS> ) (T )>> CR>) (> ) (<==? ,OUTSIDE-LINE-C> ) (T )>> ) (T )>> )>> ) (T > )>> >> ) ( 0>>> ) (T > )>> > ;> > > ) (> )>> > T) (T )> ) (> >> ) (<==? ,PRSI ,PRSO> CR>) ( ) ( > > > ) (> >> ) (T )>> > ) (T )>) (T )>> ) (> >> ;"? INTNUM?" ) ( ,WINNER ,ROOMS> <>) ( >>> )>> > > ) (> ,PERSON>> "'s shoulder?" CR>) (ELSE CR>)>> ) (T )>> > > ; > ;> > > > > ) ( >> ) (T )>> )> )> > > ) ( >> ) ( "she") ( "he") (T "it")> " is!" CR>) (T )>> ) ( >> ) (ELSE )>> ) (> ) (T "." CR>)>> > > > ) (> ) (T > )>) (T )>> > ) ( ) (T )>> ) (T )>) (T )> > )) > ) ( ) ( > >> ) ( > >> ) (,PRSI ,HERE>> ) (> ) ( >> ) (T > )>) (<==? ,PRSO > )>> T> )>> > > ,WINNER> ) ( ,PRSO>> ) (T )>> ;> > > ) ( >> > > ) ( ,HERE>> > > ) (,P-CONT ) (ELSE )> ) (T > > > )>> <==? ,HERE > > ) ;( >> )>> > > ) (ELSE )>) ( ) (> ) (T "." CR>)>> <==? ,HERE >> ,V?TELL-ME) (T ,V?ASK-ABOUT)> ,QCONTEXT ,PRSO> ) ;(> )>> > > <==? ,HERE >> >> " acknowledges your thanks."CR>) (T )>> )>> > ) ( ) (T )>> > ) (T )>> > >> )>> > > > >> )>> ) (T "handcuff ") (T "tie " ;V)> <>> )>> > ) ( CR>) (T > )>> ) (T > )>> ;> ;> > )>> > ) ( >> ) ( 0>>> > ) ( ) ( ,ROOMS> ) ( ) (> > ) ( ,HERE>> ) (T )>) (T > )>> > > > "V-WAIT has three modes, depending on the arguments: 1) If only one argument is given, it will wait for that many moves. 2) If a second argument is given, it will wait the least of the first argument number of moves and the time at which the second argument (an object) is in the room with the player. 3) If the third argument is given, the second should be FALSE. It will wait number of moves (or at least try to). The third argument means that an 'internal wait' is happening (e.g. for a 'careful' search)." ) (INT <>) "AUX" VAL HR (RESULT T)) #DECL ((NUM) FIX) )> > 0> ) (> >> ) (> ) (T > 16> 0>> )> ) (T )> > > ) (T )>)>) (> ) (> 40>> > > )> ) (T )>> )> .RESULT> <> T>> ;> <> T>>> ) ( .REQ>> ) (T )> ) ( ) (T )>) (<==? ,PRSO ,GLOBAL-HERE> ) (<==? ,PRSO ,MIDNIGHT> ) ( > ) (T )>) (ELSE )>) ( ) (T )>> ) ( 60>>) ( >)> >) (T )>) (T )>> ) (ELSE )>> (PTS) FIX (OBJ) OBJECT (RM) ) ,GOAL-S <>>)> ) (> > ,UEXIT> > ) (<==? .PTS ,NEXIT> CR> ) (<==? .PTS ,FEXIT> >> ) (T )>) (<==? .PTS ,CEXIT> > >) (> ) (T )>) (<==? .PTS ,DEXIT> > >) (> >) ( ,HERE> ) ( ) (> ) (T )>)>) (<==? ,PRSO ,P?IN> ) (T )>> >> ) ( ,VEHBIT> "." CR> )>> ) (T )> > ;> > > > ) ( > >> ) ( ,HERE> > ) ( > > > ) (ELSE > )>) ( ) ( ,ROOMS> > ) (T )>> > > ) (ELSE )> ) ( ) (T )>> <==? ,HERE >> ) (T )>> ) ( ) (ELSE )>> ) (T )>) (ELSE )>) (ELSE )>> > > ,ME ,PLAYER>> ) (> ) ( ) ( ) ( > > >>> ) (ELSE )> ) (ELSE )>) (ELSE )>> > > ,GLOBAL-MICHAEL ,GLOBAL-VERONICA>> ) ( ) ( > ) ( ) (T )>) (ELSE )>> ) ( > ) ( )>> > ) ( ) (ELSE 4) (T ,DRINK-COUNT)>> " drinks. I would think twice about driving home if I were you. You might call a taxi instead.">)> )> > ) (ELSE )>> > )> ) (> )> ) ( >> )>> ) (ELSE )>> ) (T )>) (T )>> ) ( ) (ELSE )>> > ) (T )>> ) ( ,PLAYER> ) (ELSE )>> > > > > > ) (ELSE )> ) (> )>> > >